1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
samba-mirror/source3/printing
Simo Sorce ee0c69a25e s3-prefork: do not use a lock_fd, just race on accept()
We used a lock mimicking what apache does for preforked children.
But it doesn't work properly in our case because we do not stop once a request
has been served. Clients are allowed to perform multiple requests and keep the
connection open.
This means that if we allow multiple clients per children, then a child could
take the lock and then be asked to do a long or even locking operation by a
client it already is serving. This woulkd cause the whole server to deadlock,
as the child is now busy and also holding on the lock.
Using a race on accept() by having a tevent_fd on the listening socket wait
for read events we never deadlock. At most we cause a bit of contention among
children. But in the generic case connections are much less frequent for us as
clients tend to be long lived. So the little contention we may have is not a
big deal.

Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Simo Sorce <idra@samba.org>
2011-08-21 09:05:05 -04:00
..
tests tdb_compat: use tdb_open_compat. 2011-06-20 11:18:35 +02:00
load.c param: Merge param headers into lib/param/loadparm.h 2011-06-29 15:44:09 +10:00
load.h source3/printing/load.h: fix licence/copyright 2011-06-10 15:12:34 +02:00
lpq_parse.c Fix warning messages caused by addition of null check in fstrcpy macro. 2011-05-04 12:12:15 -07:00
notify.c tdb_compat: Higher level API fixes. 2011-06-20 11:18:35 +02:00
notify.h s3-printing: isolate print notification prototypes better. 2011-02-22 21:52:18 +01:00
nt_printing_ads.c s3-auth Use the common auth_session_info 2011-07-20 09:17:13 +10:00
nt_printing_migrate_internal.c s3-auth Use the common auth_session_info 2011-07-20 09:17:13 +10:00
nt_printing_migrate_internal.h s3-printing: split out printing migration code into a smaller library. 2011-07-01 16:46:26 +02:00
nt_printing_migrate.c s3-printing: fill info2_mask in printer migration 2011-07-07 18:06:02 +02:00
nt_printing_migrate.h s3-printing: remove spoolss pipe from migration library, only using winreg finally. 2011-07-07 18:06:02 +02:00
nt_printing_os2.c s3-printing: move os2 related functions to printing/nt_printing_os2.c. 2011-07-07 18:06:01 +02:00
nt_printing_os2.h s3-printing: move os2 related functions to printing/nt_printing_os2.c. 2011-07-07 18:06:01 +02:00
nt_printing_tdb.c tdb_compat: use tdb_errorstr_compat() 2011-06-20 11:18:35 +02:00
nt_printing_tdb.h s3-printing: Move all tdb upgrade functions to a separate file. 2010-07-27 10:27:14 -04:00
nt_printing.c s3-spoolss: Use existing handle in printer_driver_files_in_use(). 2011-07-28 16:20:11 +02:00
pcap.c s3-printing: Get the location info from cups. 2011-05-16 12:54:33 +02:00
pcap.h source3/printing/pcap.h: fix licence/copyright 2011-06-10 15:12:36 +02:00
print_aix.c s3-printing: Get the location info from cups. 2011-05-16 12:54:33 +02:00
print_cups.c s3-talloc Change TALLOC_P() to talloc() 2011-06-09 12:40:08 +02:00
print_generic.c Change sys_getcd() to take no arguments and always return malloc'ed memory (or NULL). 2011-06-01 02:54:51 +02:00
print_iprint.c s3-printing: Get the location info from cups. 2011-05-16 12:54:33 +02:00
print_standard.c Fix bug #8157 - std_pcap_cache_reload() fails to parse a cups printcap file correctly. 2011-05-20 22:52:23 +02:00
print_svid.c s3-printing: Get the location info from cups. 2011-05-16 12:54:33 +02:00
printer_list.c s3:dbwrap: move all .c and .h files of dbwrap to lib/dbwrap/ 2011-07-29 13:34:22 +02:00
printer_list.h s3-printing: Get the location info from cups. 2011-05-16 12:54:33 +02:00
printing_db.c ldb: replace 'struct TDB_DATA' with 'TDB_DATA' 2011-06-20 11:18:35 +02:00
printing.c s3-printing: Rework how the background process is started 2011-08-10 18:14:04 +02:00
printspoolss.c s3-rpc_server: Migrate rpc function to tsocket_address. 2011-07-04 18:27:58 +10:00
queue_process.c s3-rpc_server: Replace RPC_SERVICE_MODE_DAEMON checks 2011-08-21 09:05:03 -04:00
queue_process.h s3-printing: Allow bq process to have own logfile 2011-08-10 18:14:05 +02:00
spoolssd.c s3-prefork: do not use a lock_fd, just race on accept() 2011-08-21 09:05:05 -04:00