On Tue, 14 Jun 2016 10:34:48 +0900 Carsten Haitzler (The Rasterman) <ras...@rasterman.com> said:
so after more debugging... the issue was not the below but related. related to sigchld. in fact related to all signals. linux is pretty sane. signal handlers are executed in the main thread/process/loop context. UNLESS you do pthread_kill () that explicitly sends a signal to THAT thread. but bsd is more bizarre. it just decides to deliver signals and call signals handlers... to any thread it likes (kind of at random - it just chooses a victim by luck and that's what you get). we never faced this issue until the last year or 3 because we hadn't used threads much at sll. we'd kept them away. we're using them a lot now and so this required figuring this wierdness out. this seems to be the case on both freebsd and openbsd. i don't know about macos-x, but i think it was somehow sane like linux as it built. anyway - this was super annoying to debug remotely, but a big thanks to netstar (al poole) for having insane patience and doing the testing and poking and reporting every time we tried something. this is now fixed in git. or more specifically a workaround to ensure all signal handlers we set up in ecore have their signals blocked in any thread we spawn. of course if an app using efl uses pthread_create themselves they may just bring back the problem unles they too block signals. > so after some debugging with al poole regarding openbsd it has come to my > attention (thanks al!) that: > > https://www.mail-archive.com/search?l=m...@openbsd.org&q=subject:%22SIGCHLD+and+libpthread.so%22&o=newest&f=1 > > basiclly put we can't use sigchld AND threads on openbsd in the same > process... which basically rules out EFL. > > it seems openbsd is just broken using SIGCHLD at least as a real posix + > pthread implementation of unix: > > https://www.openbsd.org/papers/eurobsd2012/guenther-rthreads/slide002.html > > so ... in general it seems openbsd still suffers from this (al poole has found > that we just are missing sigchlds in both edje_cc from the embryo_cc processes > as well as in enlightenment e.g. with tempget and other slave processes) > > so i'm going to take the step of declaring openbsd "not supported" until such > a time as it no longer exhibits such bugs. feel free to point out that this > feedback is incorrect and the bug has been fixed. i can only find traces of > the bug being reported and no information on it being fixed. > > -- > ------------- Codito, ergo sum - "I code, therefore I am" -------------- > The Rasterman (Carsten Haitzler) ras...@rasterman.com > > > ------------------------------------------------------------------------------ > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity > planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel