diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-12-02 17:25:57 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-12-02 17:25:57 +0100 |
commit | dfe245814ce868073f26b6ad5f05a24b9d99c7b4 (patch) | |
tree | c9f0cb1eb4737112a915a9bc5f113d33cf584486 /src/util/secmod_common.c | |
parent | ae866fc45d50a11fce4557500611bee10704fb4a (diff) | |
download | exchange-dfe245814ce868073f26b6ad5f05a24b9d99c7b4.tar.xz |
reduce lock contention in RSA secmod
Diffstat (limited to 'src/util/secmod_common.c')
-rw-r--r-- | src/util/secmod_common.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/util/secmod_common.c b/src/util/secmod_common.c index 33b880d2c..0a83bfb6c 100644 --- a/src/util/secmod_common.c +++ b/src/util/secmod_common.c @@ -74,17 +74,15 @@ static volatile bool in_shutdown; enum GNUNET_GenericReturnValue -TES_transmit (int sock, - const struct GNUNET_MessageHeader *hdr) +TES_transmit_raw (int sock, + size_t end, + const void *pos) { ssize_t off = 0; - const void *pos = hdr; - uint16_t end = ntohs (hdr->size); GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Sending message of type %u and length %u\n", - (unsigned int) ntohs (hdr->type), - (unsigned int) ntohs (hdr->size)); + "Sending message of length %u\n", + (unsigned int) end); while (off < end) { ssize_t ret = send (sock, @@ -118,6 +116,20 @@ TES_transmit (int sock, } +enum GNUNET_GenericReturnValue +TES_transmit (int sock, + const struct GNUNET_MessageHeader *hdr) +{ + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Sending message of type %u and length %u\n", + (unsigned int) ntohs (hdr->type), + (unsigned int) ntohs (hdr->size)); + return TES_transmit_raw (sock, + ntohs (hdr->size), + hdr); +} + + struct GNUNET_NETWORK_Handle * TES_open_socket (const char *unixpath) { |