diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-02a | 6 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 6 | ||||
-rw-r--r-- | THANKS | 1 | ||||
-rw-r--r-- | ace/LSOCK.cpp | 6 |
5 files changed, 24 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 7ba6a7f3b07..01a01ba1d50 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ Fri Mar 24 10:30:44 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + * ace/LSOCK.cpp (recv_handle): For some reason, Linux allocates an extra + handle when doing a recvmsg() with the MSG_PEEK flag set. + Therefore, we need to close this. Thanks to Rick Ohnemus + <rjohnemus@systemware-inc.com> for reporting this. Fixed [BUGID + 511]. + * examples/IPC_SAP/FILE_SAP/client.cpp. Fixed the formatting to conform to ACE guidelines. Thanks to Steve Luoma <stevel@dvc400.com> for motivating this. diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a index 7ba6a7f3b07..01a01ba1d50 100644 --- a/ChangeLogs/ChangeLog-02a +++ b/ChangeLogs/ChangeLog-02a @@ -1,5 +1,11 @@ Fri Mar 24 10:30:44 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + * ace/LSOCK.cpp (recv_handle): For some reason, Linux allocates an extra + handle when doing a recvmsg() with the MSG_PEEK flag set. + Therefore, we need to close this. Thanks to Rick Ohnemus + <rjohnemus@systemware-inc.com> for reporting this. Fixed [BUGID + 511]. + * examples/IPC_SAP/FILE_SAP/client.cpp. Fixed the formatting to conform to ACE guidelines. Thanks to Steve Luoma <stevel@dvc400.com> for motivating this. diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index 7ba6a7f3b07..01a01ba1d50 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,5 +1,11 @@ Fri Mar 24 10:30:44 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + * ace/LSOCK.cpp (recv_handle): For some reason, Linux allocates an extra + handle when doing a recvmsg() with the MSG_PEEK flag set. + Therefore, we need to close this. Thanks to Rick Ohnemus + <rjohnemus@systemware-inc.com> for reporting this. Fixed [BUGID + 511]. + * examples/IPC_SAP/FILE_SAP/client.cpp. Fixed the formatting to conform to ACE guidelines. Thanks to Steve Luoma <stevel@dvc400.com> for motivating this. @@ -939,6 +939,7 @@ David McWeeny <davemcw@tr.comm.mot.com> Florian Lackerbauer <florian.lackerbauer@mchp.siemens.de> Manuel Benche <mbenche@jazz.cs.utsa.edu> Steve Luoma <stevel@dvc400.com> +Roger Tragin <rtragin@wpine.com> I would particularly like to thank Paul Stephenson, who worked with me at Ericsson. Paul devised the recursive Makefile scheme that diff --git a/ace/LSOCK.cpp b/ace/LSOCK.cpp index 002f36296c5..15ded5a511d 100644 --- a/ace/LSOCK.cpp +++ b/ace/LSOCK.cpp @@ -122,7 +122,9 @@ ACE_LSOCK::recv_handle (ACE_HANDLE &handle, char *pbuf, int *len) const return 0; } #else - ssize_t nbytes = ACE_OS::recvmsg (this->get_handle (), &recv_msg, MSG_PEEK); + ssize_t nbytes = ACE_OS::recvmsg (this->get_handle (), + &recv_msg, + MSG_PEEK); if (nbytes != ACE_INVALID_HANDLE) { @@ -131,6 +133,8 @@ ACE_LSOCK::recv_handle (ACE_HANDLE &handle, char *pbuf, int *len) const && ((unsigned char *) iov.iov_base)[1] == 0xcd) { #if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG) + // Close down the socket that was returned by the MSG_PEEK. + ACE_OS::closesocket (*(ACE_HANDLE *) CMSG_DATA ((cmsghdr *) cmsgbuf)); recv_msg.msg_control = cmsgbuf; recv_msg.msg_controllen = sizeof cmsgbuf; #else |