New empth_name() and empth_set_name()
This commit is contained in:
parent
2e5915dd09
commit
2ddeda99d0
6 changed files with 88 additions and 0 deletions
|
@ -127,6 +127,16 @@ empth_t *empth_create(void (*entry)(void *),
|
||||||
*/
|
*/
|
||||||
empth_t *empth_self(void);
|
empth_t *empth_self(void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return the name of the current thread.
|
||||||
|
*/
|
||||||
|
char *empth_name(void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sets the name of the current thread.
|
||||||
|
*/
|
||||||
|
void empth_set_name(char *);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Terminate the current thread.
|
* Terminate the current thread.
|
||||||
* The current thread should not be the thread that executed main().
|
* The current thread should not be the thread that executed main().
|
||||||
|
|
|
@ -52,6 +52,8 @@ int lwpSigWait(sigset_t *set, int *sig);
|
||||||
void *lwpGetUD(struct lwpProc * p);
|
void *lwpGetUD(struct lwpProc * p);
|
||||||
void lwpSetUD(struct lwpProc * p, char *ud);
|
void lwpSetUD(struct lwpProc * p, char *ud);
|
||||||
int lwpSetPriority(int prio);
|
int lwpSetPriority(int prio);
|
||||||
|
char *lwpName(struct lwpProc * p);
|
||||||
|
void lwpSetName(struct lwpProc * p, char *name);
|
||||||
|
|
||||||
struct lwp_rwlock *lwp_rwlock_create(char *);
|
struct lwp_rwlock *lwp_rwlock_create(char *);
|
||||||
void lwp_rwlock_destroy(struct lwp_rwlock *);
|
void lwp_rwlock_destroy(struct lwp_rwlock *);
|
||||||
|
|
|
@ -74,6 +74,18 @@ empth_self(void)
|
||||||
return LwpCurrent;
|
return LwpCurrent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *
|
||||||
|
empth_name(void)
|
||||||
|
{
|
||||||
|
return lwpName(LwpCurrent);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
empth_set_name(char *name)
|
||||||
|
{
|
||||||
|
lwpSetName(LwpCurrent, name);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
empth_exit(void)
|
empth_exit(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -486,6 +486,27 @@ empth_self(void)
|
||||||
return pThread;
|
return pThread;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/************************
|
||||||
|
* empth_name
|
||||||
|
*/
|
||||||
|
char *
|
||||||
|
empth_name(void)
|
||||||
|
{
|
||||||
|
return empth_self()->szName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************
|
||||||
|
* empth_set_name
|
||||||
|
* Set the thread name
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
empth_set_name(char *name)
|
||||||
|
{
|
||||||
|
empth_t *pThread = TlsGetValue(dwTLSIndex);
|
||||||
|
|
||||||
|
strncpy(pThread->szName, name, sizeof(pThread->szName) - 1);
|
||||||
|
}
|
||||||
|
|
||||||
/************************
|
/************************
|
||||||
* empth_exit
|
* empth_exit
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -247,6 +247,25 @@ empth_self(void)
|
||||||
return pthread_getspecific(ctx_key);
|
return pthread_getspecific(ctx_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *
|
||||||
|
empth_name(void)
|
||||||
|
{
|
||||||
|
return empth_self()->name;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
empth_set_name(char *name)
|
||||||
|
{
|
||||||
|
empth_t *ctx_ptr;
|
||||||
|
|
||||||
|
ctx_ptr = pthread_getspecific(ctx_key);
|
||||||
|
|
||||||
|
if (ctx_ptr->name != NULL)
|
||||||
|
free(ctx_ptr->name);
|
||||||
|
|
||||||
|
ctx_ptr->name = strdup(name);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
empth_exit(void)
|
empth_exit(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -405,3 +405,27 @@ lwpStackCheckUsed(struct lwpProc *newp)
|
||||||
lwpStatus(newp, "Thread stack %d used, %d left, %d total",
|
lwpStatus(newp, "Thread stack %d used, %d left, %d total",
|
||||||
used, total - used, total);
|
used, total - used, total);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* lwpName
|
||||||
|
*
|
||||||
|
* Return the name of the thread.
|
||||||
|
*/
|
||||||
|
char *
|
||||||
|
lwpName(struct lwpProc *proc)
|
||||||
|
{
|
||||||
|
return proc->name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* lwpSetName
|
||||||
|
*
|
||||||
|
* Set the name of the thread.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
lwpSetName(struct lwpProc *proc, char *name)
|
||||||
|
{
|
||||||
|
if (proc->name != NULL)
|
||||||
|
free(proc->name);
|
||||||
|
|
||||||
|
proc->name = strdup(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue