[Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
Patch in attachment. -- Regards, niXman ___ Dual-target(32 & 64 bit) MinGW compilers for 32 and 64 bit Windows: http://sourceforge.net/projects/mingwbuilds/ winpthreads_lasterror.patch Description: Binary data -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
On Sat, Jul 14, 2012 at 12:23 PM, niXman wrote: > Patch in attachment. > > -- > Regards, > niXman This was discussed quite some time ago and the suggested changes look OK to me at first glance. As a reference, pthreads-win32 restores the last error for pthread_getspecific() (but not for pthread_setspecific() as far as I can see.) What do the admins think? -- O.S. winpthreads_lasterror.patch Description: Binary data -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
2012/7/16 Ozkan Sezer: > This was discussed quite some time ago and the suggested changes > look OK to me at first glance. As a reference, pthreads-win32 restores > the last error for pthread_getspecific() (but not for pthread_setspecific() > as far as I can see.) Without the restoration of the last error in pthread_setspecific(), this code will always throw an exception: boost::filesystem::exists("any non-existent file"); With the following message: The operation completed successfully: "any non-existent file" Why is this happening, you can read here: http://forum.vingrad.ru/index.php?showtopic=353559&view=findpost&p=2499963 But, this is a Russian forum. -- Regards, niXman ___ Dual-target(32 & 64 bit) MinGW compilers for 32 and 64 bit Windows: http://sourceforge.net/projects/mingwbuilds/ -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
2012/7/16 niXman > 2012/7/16 Ozkan Sezer: > > > This was discussed quite some time ago and the suggested changes > > look OK to me at first glance. As a reference, pthreads-win32 restores > > the last error for pthread_getspecific() (but not for > pthread_setspecific() > > as far as I can see.) > > Without the restoration of the last error in pthread_setspecific(), this > code will always throw an exception: > boost::filesystem::exists("any non-existent file"); > > With the following message: > The operation completed successfully: "any non-existent file" > I have had similar reports for my posix threades toolchains. If this patch fixes that, it would be much appreciated :) Ruben > > Why is this happening, you can read here: > http://forum.vingrad.ru/index.php?showtopic=353559&view=findpost&p=2499963 > > But, this is a Russian forum. > > > > -- > Regards, > niXman > ___ > Dual-target(32 & 64 bit) MinGW compilers for 32 and 64 bit Windows: > http://sourceforge.net/projects/mingwbuilds/ > > > -- > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > ___ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public > -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
Well, I am fine by this patch, but I would love to get additional a testcase added for it. So patch is ok with a testcase. Thanks, Kai -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
We also experience an issue with boost::filesystem::exists in blender. If this fixes that it will be a blessing :). -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
2012/7/16 Kai Tietz: > Well, > > I am fine by this patch, but I would love to get additional a testcase > added for it. > > So patch is ok with a testcase. Log in attachment. -- Regards, niXman ___ Dual-target(32 & 64 bit) MinGW compilers for 32 and 64 bit Windows: http://sourceforge.net/projects/mingwbuilds/ rm -f *.dll rm -f *.lib rm -f pthread.h rm -f semaphore.h rm -f sched.h rm -f *.a rm -f *.e rm -f *.i rm -f *.o rm -f *.so rm -f *.obj rm -f *.pdb rm -f *.exe rm -f *.pass rm -f *.fail rm -f *.x rm -f *.bench rm -f *.static rm -f *.log Copying ../.libs/libwinpthread.dll.a Copying ../.libs/libwinpthread-1.dll make -k TEST=GC CC=-gcc XXCFLAGS="-D__CLEANUP_C" all-pass make[1]: Entering directory `/usr/home/niXman/build/tests' Compiling runall.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o runall.exe runall.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running runall ./runall usage: runall Passed Compiling sizes.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o sizes.exe sizes.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running ./sizes.exe > SIZES.GC Sizes of winpthreads structs --- pthread_t4 pthread_attr_t_ 16 pthread_mutex_t_ 28 pthread_mutexattr_t_4 pthread_spinlock_t_ 12 pthread_barrier_t_ 36 pthread_barrierattr_t_4 pthread_key_t_4 pthread_cond_t_ 108 pthread_condattr_t_4 pthread_rwlock_t_ 32 pthread_rwlockattr_t_4 pthread_once_t_4 sched_param4 --- Passed Compiling loadfree.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o loadfree.exe loadfree.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 loadfree.c: In function 'main': loadfree.c:61:13: warning: unused variable 'hinst' [-Wunused-variable] Preparing loadfree TESTS Running loadfree ./loadfree Passed Compiling self1.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o self1.exe self1.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running self1 ./self1 Passed Compiling mutex5.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o mutex5.exe mutex5.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running mutex5 ./mutex5 Passed Compiling mutex1.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o mutex1.exe mutex1.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running mutex1 ./mutex1 Passed Compiling mutex1e.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o mutex1e.exe mutex1e.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running mutex1e ./mutex1e Passed Compiling mutex1n.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o mutex1n.exe mutex1n.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running mutex1n ./mutex1n Passed Compiling mutex1r.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o mutex1r.exe mutex1r.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running mutex1r ./mutex1r Passed Compiling semaphore1.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o semaphore1.exe semaphore1.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running semaphore1 ./semaphore1 thread: sem_trywait 1: expecting error EAGAIN: got EAGAIN thread: ok 2 main: sem_trywait 1: expecting error EAGAIN: got EAGAIN main: ok 2 Passed Compiling semaphore2.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o semaphore2.exe semaphore2.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running semaphore2 ./semaphore2 Passed Compiling semaphore3.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o semaphore3.exe semaphore3.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running semaphore3 ./semaphore3 Complete Passed Compiling condvar1.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o condvar1.exe condvar1.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running condvar1 ./condvar1 Passed Compiling condvar1_1.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o condvar1_1.exe condvar1_1.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running condvar1_1 ./condvar1_1 Passed Compiling condvar1_2.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o condvar1_2.exe condvar1_2.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Compiling join2.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o join2.exe join2.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Compiling create1.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o create1.exe create1.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Compiling mutex2.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o mutex2.exe mutex2.c -I./include -L../outlib -lwinpthread -lsupc++ -lws2_32 Running mutex2 ./mutex2 Try lock Mutex locked Mutex unlocked Mutex destroyed Passed Running create1 ./create1 Passed Running join2 ./join2 Passed Running condvar1_2 ./condvar1_2 Passed Compiling condvar2.exe -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C -o condvar2.exe condvar2.c -I./
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
2012/7/17 niXman: > 2012/7/16 Kai Tietz: >> >> So patch is ok with a testcase. > > Log in attachment. ping? -- Regards, niXman ___ Dual-target(32 & 64 bit) MinGW compilers for 32 and 64 bit Windows: http://sourceforge.net/projects/mingwbuilds/ -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
2012/7/18 niXman : > 2012/7/17 niXman: >> 2012/7/16 Kai Tietz: >>> >>> So patch is ok with a testcase. >> >> Log in attachment. > > ping? I applied the patch at rev 5235. But I still wait for the testcase. Cheers, Kai -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
2012/7/18 Kai Tietz: > > I applied the patch at rev 5235. But I still wait for the testcase. What do you mean by the word "testcase"? In the previous message I put a logfile with winpthreads test. -- Regards, niXman ___ Dual-target(32 & 64 bit) MinGW compilers for 32 and 64 bit Windows: http://sourceforge.net/projects/mingwbuilds/ -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
On Wed, Jul 18, 2012 at 2:02 PM, niXman wrote: > 2012/7/18 Kai Tietz: >> >> I applied the patch at rev 5235. But I still wait for the testcase. > > What do you mean by the word "testcase"? > In the previous message I put a logfile with winpthreads test. > Some very small C program showing the brokenness without the change, and showing the healthiness with the change applied. The existing tests in winpthreads are examples. -- O.S. -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] winpthreads patch for pthread_getspecific()/pthread_setspecific() function for restore WIN last error code
2012/7/18 Ozkan Sezer: > Some very small C program showing the brokenness without > the change, and showing the healthiness with the change applied. > The existing tests in winpthreads are examples. > Test for patch for pthread_getspecific(). Without the patch, main() return -2. #include struct C { ~C() {} }; int Test() { C t; return ::GetLastError(); } int main(int, const char**) { ::SetLastError(2); return Test()-2; } Test for patch for pthread_setspecific(). Without the patch, main() return -2. #include struct S { ~S() { SetLastError(2); } }; void foo() { S(); } int main() { foo(); return GetLastError()-2; } -- Regards, niXman ___ Dual-target(32 & 64 bit) MinGW compilers for 32 and 64 bit Windows: http://sourceforge.net/projects/mingwbuilds/ -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public