Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Apr 2005 03:37:35 GMT
From:      David Xu <davidxu@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 74826 for review
Message-ID:  <200504100337.j3A3bZRc005235@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=74826

Change 74826 by davidxu@davidxu_tiger on 2005/04/10 03:36:38

	Change some symbols and event control bits.

Affected files ...

.. //depot/projects/davidxu_thread/src/lib/libthr/pthread.map#8 edit
.. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#7 edit
.. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#8 edit
.. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_exit.c#5 edit
.. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#13 edit
.. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_symbols.c#7 edit

Differences ...

==== //depot/projects/davidxu_thread/src/lib/libthr/pthread.map#8 (text+ko) ====

@@ -357,7 +357,8 @@
 	_thread_off_key_destructor;
 	_thread_off_state;
 	_thread_off_tlsindex;
-	_thread_off_enable_event;
+	_thread_off_report_events;
+	_thread_off_event_mask;
 	_thread_size_key;
 	_thread_state_running;
 	_thread_state_zoombie;

==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#7 (text+ko) ====

@@ -158,7 +158,7 @@
 	_thr_link(curthread, new_thread);
 	/* Return thread pointer eariler so that new thread can use it. */
 	(*thread) = new_thread;
-	if (_libthr_debug) {
+	if (1) {// curthread->report_events) {
 		THR_THREAD_LOCK(curthread, new_thread);
 		locked = 1;
 	} else

==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#8 (text+ko) ====

@@ -54,11 +54,7 @@
 _thr_report_event(struct pthread *curthread, struct pthread *thread,
 	int event, void *data)
 {
-	if (!_libthr_debug ||
-#if 0
-	    (curthread->enable_event == 0 && event != TD_CREATE) ||
-#endif
-	    !(_thread_event_mask & event))
+	if (!(event & (curthread->event_mask | _thread_event_mask)))
 		return;
 	THR_UMTX_LOCK(curthread, &_thr_event_lock);
 	_thread_event.event = event;

==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_exit.c#5 (text+ko) ====

@@ -130,7 +130,7 @@
 	THREAD_LIST_UNLOCK(curthread);
 	if (curthread->joiner)
 		_thr_umtx_wake(&curthread->state, INT_MAX);
-	if (__predict_false(_libthr_debug))
+	if (__predict_false(curthread->report_events))
 		_thr_report_death(curthread);
 	thr_exit(&curthread->tid);
 	PANIC("thr_exit() returned");

==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#13 (text+ko) ====

@@ -490,8 +490,9 @@
 	/* Cleanup handlers Link List */
 	struct pthread_cleanup	*cleanup;
 
-	/* Event reporting mask */
-	int			enable_event;
+	/* Event reporting masks */
+	int			report_events;
+	int			event_mask;
 };
 
 #define THR_UMTX_TRYLOCK(thrd, lck)			\

==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_symbols.c#7 (text+ko) ====

@@ -47,7 +47,8 @@
 int _thread_off_attr_flags = offsetof(struct pthread, attr.flags);
 int _thread_off_linkmap = offsetof(Obj_Entry, linkmap);
 int _thread_off_tlsindex = offsetof(Obj_Entry, tlsindex);
-int _thread_off_enable_event = offsetof(struct pthread, enable_event);
+int _thread_off_report_events = offsetof(struct pthread, report_events);
+int _thread_off_event_mask = offsetof(struct pthread, event_mask);
 int _thread_size_key = sizeof(struct pthread_key);
 int _thread_off_key_allocated = offsetof(struct pthread_key, allocated);
 int _thread_off_key_destructor = offsetof(struct pthread_key, destructor);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504100337.j3A3bZRc005235>