1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/ctdb/common
David Disseldorp e097b7f8ff io: Make queue_io_read() safe for reentry
queue_io_read() may be reentered via the queue callback, recoverd is
particularly guilty of this.

queue_io_read() is not safe for reentry if more than one packet is
received and partial chunks follow - data read off the pipe on re-entry
is assumed to be the start-of-packet four byte length. This leads to a
wrongly aligned stream and the notorious "Invalid packet of length 0"
errors.

This change fixes queue_io_read() to be safe under reentry, only a
single packet is processed per call.

https://bugzilla.samba.org/show_bug.cgi?id=8319

(This used to be ctdb commit 9ea41d2fab612772f861270c8a59c01c43bd3a4c)
2011-08-05 14:27:18 +10:00
..
cmdline.c event: Update events to latest Samba version 0.9.8 2010-08-18 09:16:31 +09:30
ctdb_io.c io: Make queue_io_read() safe for reentry 2011-08-05 14:27:18 +10:00
ctdb_logging.c Add ctdb_fork(0 which will fork a child process and drop the real-time 2011-01-11 07:40:41 +11:00
ctdb_ltdb.c ltdb: add the CTDB_REC_FLAG_AUTOMATIC to the initial header in ctdb_ltdb_fetch() 2011-03-14 13:35:51 +01:00
ctdb_message.c event: Update events to latest Samba version 0.9.8 2010-08-18 09:16:31 +09:30
ctdb_util.c change the hash function to use the much better Jenkins hash 2011-02-18 10:05:09 +11:00
rb_tree.c merge from ronnie 2008-02-04 20:07:15 +11:00
rb_tree.h In the recovery daemon, keep track of which node we have assigned public ip 2010-04-08 14:25:26 +10:00
system_aix.c move common code of system_linux.c and system_aix.c into new system_common.c 2009-02-28 03:08:31 +01:00
system_common.c AIX bind wants the correct addrsize 2010-09-03 11:49:19 +10:00
system_linux.c event: Update events to latest Samba version 0.9.8 2010-08-18 09:16:31 +09:30