Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tobias Decking
GHC
Commits
53c390a4
Commit
53c390a4
authored
Oct 19, 2006
by
Simon Marlow
Browse files
remove ^Ms
parent
59c03ecb
Changes
1
Hide whitespace changes
Inline
Side-by-side
rts/Typeable.c
View file @
53c390a4
#include
"RtsTypeable.h"
#include
"Rts.h"
static
StgPtr
typeableStore
=
0
;
#ifdef THREADED_RTS
Mutex
typeableStoreLock
;
#endif
void
initTypeableStore
()
{
typeableStore
=
0
;
#ifdef THREADED_RTS
initMutex
(
&
typeableStoreLock
);
#endif
}
void
exitTypeableStore
()
{
#ifdef THREADED_RTS
closeMutex
(
&
typeableStoreLock
);
#endif
if
(
typeableStore
!=
0
)
{
freeStablePtr
((
StgStablePtr
)
typeableStore
);
typeableStore
=
0
;
}
}
StgPtr
getOrSetTypeableStore
(
StgPtr
ptr
)
{
StgPtr
ret
=
typeableStore
;
if
(
ret
==
0
)
{
#ifdef THREADED_RTS
ACQUIRE_LOCK
(
&
typeableStoreLock
);
ret
=
typeableStore
;
if
(
ret
==
0
)
{
#endif
typeableStore
=
ret
=
ptr
;
#ifdef THREADED_RTS
}
RELEASE_LOCK
(
&
typeableStoreLock
);
#endif
}
return
ret
;
}
static
StgPtr
typeableStore
=
0
;
#ifdef THREADED_RTS
Mutex
typeableStoreLock
;
#endif
void
initTypeableStore
()
{
typeableStore
=
0
;
#ifdef THREADED_RTS
initMutex
(
&
typeableStoreLock
);
#endif
}
void
exitTypeableStore
()
{
#ifdef THREADED_RTS
closeMutex
(
&
typeableStoreLock
);
#endif
if
(
typeableStore
!=
0
)
{
freeStablePtr
((
StgStablePtr
)
typeableStore
);
typeableStore
=
0
;
}
}
StgPtr
getOrSetTypeableStore
(
StgPtr
ptr
)
{
StgPtr
ret
=
typeableStore
;
if
(
ret
==
0
)
{
#ifdef THREADED_RTS
ACQUIRE_LOCK
(
&
typeableStoreLock
);
ret
=
typeableStore
;
if
(
ret
==
0
)
{
#endif
typeableStore
=
ret
=
ptr
;
#ifdef THREADED_RTS
}
RELEASE_LOCK
(
&
typeableStoreLock
);
#endif
}
return
ret
;
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment