[CalendarServer-dev] Exception in recvfd --was: Re: continuing work on FreeBSD ports

Fredrik Unger fred at tree.se
Thu Feb 14 03:07:21 PST 2013



On 02/14/2013 11:37 AM, Fredrik Unger wrote:
>> 2. After the error occured:
>> # cat /tmp/debug.dat.63431
>> recvmsg: fd [24] [0] result [3]
>> recvmsg: value:
>> d 0 0 0
>> ---
>> Does this enlighten someone?

You could try something like :

Index: sendfd.py
===================================================================
--- sendfd.py   (revision 10711)
+++ sendfd.py   (working copy)
@@ -15,7 +15,7 @@
  # limitations under the License.
  ##

-from struct import pack, unpack
+from struct import pack, unpack,calcsize
  from socket import SOL_SOCKET

  from twext.python.sendmsg import sendmsg, recvmsg, SCM_RIGHTS
@@ -62,5 +62,7 @@
      # cmsg_level and cmsg_type really need to be SOL_SOCKET / 
SCM_RIGHTS, but
      # since those are the *only* standard values, there's not much 
point in
      # checking.
+    if len(packedFD)!=calcsize("i"):
+        print "Error packedFD [%s] (%d) not %d bytes long" % 
(packedFD,len(packedFD),calcsize("i"packedFD,len(packedFD),calcsize("i")))
      [unpackedFD] = unpack("i", packedFD)
      return (unpackedFD, data)


Not sure if just printing works, might be a better way to log it.
Sorry that I can not provide better help.

/Fred


More information about the calendarserver-dev mailing list