Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
821ab863
Commit
821ab863
authored
Nov 12, 2003
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added configure check for pthread_getattr_np.
parent
ef2ac7ac
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
105 additions
and
0 deletions
+105
-0
configure
configure
+88
-0
configure.ac
configure.ac
+6
-0
config.h.in
include/config.h.in
+3
-0
pthread.c
loader/pthread.c
+8
-0
No files found.
configure
View file @
821ab863
...
...
@@ -9871,6 +9871,94 @@ _ACEOF
fi
ac_save_LIBS
=
"
$LIBS
"
LIBS
=
"
$LIBS
$LIBPTHREAD
"
for
ac_func
in
pthread_getattr_np
do
as_ac_var
=
`
echo
"ac_cv_func_
$ac_func
"
|
$as_tr_sh
`
echo
"
$as_me
:
$LINENO
: checking for
$ac_func
"
>
&5
echo
$ECHO_N
"checking for
$ac_func
...
$ECHO_C
"
>
&6
if
eval
"test
\"\$
{
$as_ac_var
+set}
\"
= set"
;
then
echo
$ECHO_N
"(cached)
$ECHO_C
"
>
&6
else
cat
>
conftest.
$ac_ext
<<
_ACEOF
#line
$LINENO
"configure"
/* confdefs.h. */
_ACEOF
cat
confdefs.h
>>
conftest.
$ac_ext
cat
>>
conftest.
$ac_ext
<<
_ACEOF
/* end confdefs.h. */
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char
$ac_func
(); below.
Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
<limits.h> exists even on freestanding compilers. */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
{
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char
$ac_func
();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_
$ac_func
) || defined (__stub___
$ac_func
)
choke me
#else
char (*f) () =
$ac_func
;
#endif
#ifdef __cplusplus
}
#endif
int
main ()
{
return f !=
$ac_func
;
;
return 0;
}
_ACEOF
rm
-f
conftest.
$ac_objext
conftest
$ac_exeext
if
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_link
\"
"
)
>
&5
(
eval
$ac_link
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
&&
{
ac_try
=
'test -s conftest$ac_exeext'
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_try
\"
"
)
>
&5
(
eval
$ac_try
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
;
then
eval
"
$as_ac_var
=yes"
else
echo
"
$as_me
: failed program was:"
>
&5
sed
's/^/| /'
conftest.
$ac_ext
>
&5
eval
"
$as_ac_var
=no"
fi
rm
-f
conftest.
$ac_objext
conftest
$ac_exeext
conftest.
$ac_ext
fi
echo
"
$as_me
:
$LINENO
: result:
`
eval echo
'${'
$as_ac_var
'}'
`
"
>
&5
echo
"
${
ECHO_T
}
`
eval echo
'${'
$as_ac_var
'}'
`
"
>
&6
if
test
`
eval echo
'${'
$as_ac_var
'}'
`
=
yes
;
then
cat
>>
confdefs.h
<<
_ACEOF
#define `echo "HAVE_
$ac_func
" |
$as_tr_cpp
` 1
_ACEOF
fi
done
LIBS
=
"
$ac_save_LIBS
"
...
...
configure.ac
View file @
821ab863
...
...
@@ -535,6 +535,12 @@ dnl **** Check for pthread_rwlock_t ****
AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
#include <pthread.h>])
dnl **** Check for pthread_getattr_np ****
ac_save_LIBS="$LIBS"
LIBS="$LIBS $LIBPTHREAD"
AC_CHECK_FUNCS(pthread_getattr_np)
LIBS="$ac_save_LIBS"
dnl **** Check for Open Sound System ****
AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h soundcard.h, break)
...
...
include/config.h.in
View file @
821ab863
...
...
@@ -410,6 +410,9 @@
/* Define to 1 if you have the <process.h> header file. */
#undef HAVE_PROCESS_H
/* Define to 1 if you have the `pthread_getattr_np' function. */
#undef HAVE_PTHREAD_GETATTR_NP
/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H
...
...
loader/pthread.c
View file @
821ab863
...
...
@@ -79,9 +79,17 @@ void wine_pthread_init_thread( struct wine_pthread_thread_info *info )
/* retrieve the stack info (except for main thread) */
if
(
funcs
.
ptr_set_thread_data
)
{
#ifdef HAVE_PTHREAD_GETATTR_NP
pthread_attr_t
attr
;
pthread_getattr_np
(
pthread_self
(),
&
attr
);
pthread_attr_getstack
(
&
attr
,
&
info
->
stack_base
,
&
info
->
stack_size
);
#else
/* assume that the stack allocation is page aligned */
char
dummy
;
size_t
page_mask
=
getpagesize
()
-
1
;
char
*
stack_top
=
(
char
*
)((
unsigned
long
)(
&
dummy
+
page_mask
)
&
~
page_mask
);
info
->
stack_base
=
stack_top
-
info
->
stack_size
;
#endif
}
/* set pid and tid */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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