It is not clear to me why any "wrapper on top of pthread_once_t" should collide with what we have in openssl headers. What are the exact compilation errors that you see and on what code? Tomas Mraz, OpenSSL On Fri, 2025-01-17 at 20:39 +0000, Taralekar, SankalpSuhas wrote: > We do have a wrapper in our codebase on top of pthread_once_t, > pthread_t. Could you please let me know if there is any way to avoid > direct pthread declaration in openssl code? > > Thanks, > Sankalp > > > Internal Use - Confidential > -----Original Message----- > From: Taralekar, SankalpSuhas > Sent: Friday, January 17, 2025 11:33 AM > To: Tomas Mraz <tomas@xxxxxxxxxxx>; openssl-users@xxxxxxxxxxx > Subject: RE: CRYPTO_TDEBUG in openssl 3.x code > > Thank you for checking! > > I am getting the error from the following: > > 497 typedef pthread_once_t CRYPTO_ONCE; > > 498 typedef pthread_key_t CRYPTO_THREAD_LOCAL; > > 499 typedef pthread_t CRYPTO_THREAD_ID; > > > > We have our own wrappers for the above pthread_once_t, pthread_t. So, > we are getting an error in compilation of our code. Could you please > let me know how do I avoid this issue with reference to the above > openssl variables or any other workaround that is available? In > openssl 1.0.2 version these pthread variables were not present. We > were using openssl 1.0.2 before. We do not want to declare the above > pthread variables of openssl 3.0.15 as we have our own wrappers. > > Thanks! > Sankalp > > -----Original Message----- > From: Tomas Mraz <tomas@xxxxxxxxxxx> > Sent: Thursday, January 16, 2025 11:54 PM > To: Taralekar, SankalpSuhas <SankalpSuhas.Taralek@xxxxxxxx>; > openssl-users@xxxxxxxxxxx > Subject: Re: CRYPTO_TDEBUG in openssl 3.x code > > > [EXTERNAL EMAIL] > > I do not think the CRYPTO_TDEBUG macro is really useful, it pre-dates > 3.x releases and basically switches off multithreading support. But > it is not tested and I would be very much surprised if the OpenSSL > code builds with it being defined. > > It is not clear to me, why are you seeing any compilation errors. > Unless you try to typedef CRYPTO_ONCE or the other typedefs we have > in the crypto.h header yourself. Could you please share a snippet of > your code where you see the compilation error? > > Tomas Mraz, OpenSSL > > On Thu, 2025-01-16 at 22:46 +0000, 'Taralekar, SankalpSuhas' via > openssl-users wrote: > > > > > > > > Hello, > > In crypto.h.in file I see the following: > > # if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) > > 480 # if defined(_WIN32) > > 481 # if defined(BASETYPES) || defined(_WINDEF_H) > > 482 /* application has to include <windows.h> in order to use this > > */ > > 483 typedef DWORD CRYPTO_THREAD_LOCAL; > > 484 typedef DWORD CRYPTO_THREAD_ID; > > 485 > > 486 typedef LONG CRYPTO_ONCE; > > 487 # define CRYPTO_ONCE_STATIC_INIT 0 > > 488 # endif > > 489 # else > > 490 # if defined(__TANDEM) && defined(_SPT_MODEL_) > > 491 # define SPT_THREAD_SIGNAL 1 > > 492 # define SPT_THREAD_AWARE 1 > > 493 # include <spthread.h> > > 494 # else > > 495 # include <pthread.h> > > 496 # endif > > 497 typedef pthread_once_t CRYPTO_ONCE; > > 498 typedef pthread_key_t CRYPTO_THREAD_LOCAL; > > 499 typedef pthread_t CRYPTO_THREAD_ID; > > > > We have our own wrappers for the above pthread_once_t, pthread_t. > > So, > > we are getting an error in compilation of our code. Could you > > please > > let me know how do I avoid this issue with reference to the above > > openssl variables or any other workaround that is available? In > > openssl 1.0.2 version these pthread variables were not present. We > > were using openssl 1.0.2 before. We do not want to declare the > > above > > pthread variables of openssl 3.0.15 as we have our own wrappers. > > Thanks! > > > > > > > > > > > > Internal Use - Confidential > > > > > > From: Taralekar, SankalpSuhas > > Sent: Wednesday, January 15, 2025 1:59 PM > > To: openssl-users@xxxxxxxxxxx > > Subject: CRYPTO_TDEBUG in openssl 3.x code > > > > Hello, > > Could not find much information about what exactly CRYPTO_TDEBUG > > does > > after going through the code. Can someone please share any > > information > > on its purpose if you are aware of it? What is the use case of > > defining CRYPTO_TDEBUG and not defining it? > > > > Thanks, > > Sankalp > > -- > > You received this message because you are subscribed to the Google > > Groups "openssl-users" group. > > To unsubscribe from this group and stop receiving emails from it, > > send > > an email to openssl-users+unsubscribe@xxxxxxxxxxx. > > To view this discussion visit > > https://urldefense.com/v3/__https://groups.google.com/a/openssl.org/d/ > > msgid/openssl- > > users/BY3PR19MB50737F1F73E788BD6009AB6DE81A2*40BY3PR19MB5073.namprd > > 19.prod.outlook.com__;JQ!!LpKI!kcEM8EoWBKwJ0qGxjhNJauL6JcxpFxSWBBme > > UEtojepEwG54BdelejKazPNgO8JfwwFavSZuxTwsNwhkRA5A$ > > [groups[.]google[.]com] . > > -- > Tomáš Mráz, OpenSSL > -- Tomáš Mráz, OpenSSL -- You received this message because you are subscribed to the Google Groups "openssl-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to openssl-users+unsubscribe@xxxxxxxxxxx. To view this discussion visit https://groups.google.com/a/openssl.org/d/msgid/openssl-users/547ab05cc71a1a38e8bf652120f372715d7b2058.camel%40openssl.org.