[Issue 19481] Aborting from local/libphobos/libdruntime/core/sync/mutex.d(95) Error: pthread_mutex_init failed.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Dec 12 20:28:24 UTC 2018
https://issues.dlang.org/show_bug.cgi?id=19481
Iain Buclaw <ibuclaw at gdcproject.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ibuclaw at gdcproject.org
--- Comment #2 from Iain Buclaw <ibuclaw at gdcproject.org> ---
(In reply to kinke from comment #1)
> `Mutex.m_hndl.alignof` (as it's a CRITICAL_SECTION for Windows) doesn't
> work, as it's private.
>
I was thinking of just doing as a quick hack.
---
version (Windows)
{
import core.sys.windows.winbase : CRITICAL_SECTION;
enum Mutex_alignof = CRITICAL_SECTION.alignof;
}
else version (Posix)
{
import core.sys.posix.sys.types : pthread_mutex_t;
enum Mutex_alignof = pthread_mutex_t.alignof;
}
---
Alternatively...
class Mutex
{
enum alignsize = Mutex.m_hndl.alignof;
// ...
}
> There's no way to get the class instance alignment, is there? Plus anything
> > 16 bytes isn't guaranteed by the GC either AFAIK. So class alignments seem
> a bit problematic in general.
No, there isn't a way to do that. I'm currently waiting to hear back if
explicitly setting the alignment to 8 fixes the failure on SPARC/Solaris.
--
More information about the Digitalmars-d-bugs
mailing list