Add multithreading helpers

Add an abstraction for mutexts and threads
that handles both pthread api and native win32 api

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
This commit is contained in:
Ronnie Sahlberg
2025-03-07 08:23:32 +10:00
parent f8542ab5cc
commit cb44ad4e26
6 changed files with 471 additions and 0 deletions

View File

@@ -216,6 +216,11 @@ iscsi_create_context(const char *initiator_name)
memset(iscsi, 0, sizeof(struct iscsi_context));
#ifdef HAVE_MULTITHREADING
iscsi_mt_mutex_init(&iscsi->iscsi_mutex);
iscsi->poll_timeout = 100;
#endif /* HAVE_MULTITHREADING */
/* initalize transport of context */
if (iscsi_init_transport(iscsi, TCP_TRANSPORT)) {
free(iscsi);
@@ -431,6 +436,10 @@ iscsi_destroy_context(struct iscsi_context *iscsi)
iscsi_destroy_context(iscsi->old_iscsi);
}
#ifdef HAVE_MULTITHREADING
iscsi_mt_mutex_destroy(&iscsi->iscsi_mutex);
#endif /* HAVE_MULTITHREADING */
memset(iscsi, 0, sizeof(struct iscsi_context));
free(iscsi);