aboutsummaryrefslogtreecommitdiff
path: root/src/util/secmod_common.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-12-02 17:25:57 +0100
committerChristian Grothoff <christian@grothoff.org>2021-12-02 17:25:57 +0100
commitdfe245814ce868073f26b6ad5f05a24b9d99c7b4 (patch)
treec9f0cb1eb4737112a915a9bc5f113d33cf584486 /src/util/secmod_common.c
parentae866fc45d50a11fce4557500611bee10704fb4a (diff)
downloadexchange-dfe245814ce868073f26b6ad5f05a24b9d99c7b4.tar.xz
reduce lock contention in RSA secmod
Diffstat (limited to 'src/util/secmod_common.c')
-rw-r--r--src/util/secmod_common.c26
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)
{