mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Move {total,current}-processor-count' outside of
posix.c'.
* libguile/posix.c (scm_total_processor_count, scm_current_processor_count): Move to... * libguile/threads.c: ... here. * libguile/posix.h (scm_total_processor_count, scm_current_processor_count): Move declarations to... * libguile/threads.h: ... here. * test-suite/tests/posix.test ("nproc"): Move tests to... * test-suite/tests/threads.test: ... here.
This commit is contained in:
parent
bbec460245
commit
d20912e67d
6 changed files with 53 additions and 47 deletions
|
@ -39,6 +39,7 @@
|
|||
#endif
|
||||
|
||||
#include <assert.h>
|
||||
#include <nproc.h>
|
||||
|
||||
#include "libguile/validate.h"
|
||||
#include "libguile/root.h"
|
||||
|
@ -2010,6 +2011,39 @@ scm_c_thread_exited_p (SCM thread)
|
|||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
SCM_DEFINE (scm_total_processor_count, "total-processor-count", 0, 0, 0,
|
||||
(void),
|
||||
"Return the total number of processors of the machine, which\n"
|
||||
"is guaranteed to be at least 1. A ``processor'' here is a\n"
|
||||
"thread execution unit, which can be either:\n\n"
|
||||
"@itemize\n"
|
||||
"@item an execution core in a (possibly multi-core) chip, in a\n"
|
||||
" (possibly multi- chip) module, in a single computer, or\n"
|
||||
"@item a thread execution unit inside a core in the case of\n"
|
||||
" @dfn{hyper-threaded} CPUs.\n"
|
||||
"@end itemize\n\n"
|
||||
"Which of the two definitions is used, is unspecified.\n")
|
||||
#define FUNC_NAME s_scm_total_processor_count
|
||||
{
|
||||
return scm_from_ulong (num_processors (NPROC_ALL));
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
SCM_DEFINE (scm_current_processor_count, "current-processor-count", 0, 0, 0,
|
||||
(void),
|
||||
"Like @code{total-processor-count}, but return the number of\n"
|
||||
"processors available to the current process. See\n"
|
||||
"@code{setaffinity} and @code{getaffinity} for more\n"
|
||||
"information.\n")
|
||||
#define FUNC_NAME s_scm_current_processor_count
|
||||
{
|
||||
return scm_from_ulong (num_processors (NPROC_CURRENT));
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
|
||||
|
||||
|
||||
static scm_i_pthread_cond_t wake_up_cond;
|
||||
static int threads_initialized_p = 0;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue