I did my coding/testing/debugging on RHEL 6. There is no direct support for this system call :(, hence I used syscall (man page also suggests so). chandra On Tue, 2010-10-12 at 03:34 +0900, FUJITA Tomonori wrote: > On Mon, 27 Sep 2010 14:07:19 -0700 > Chandra Seetharaman <sekharan@xxxxxxxxxx> wrote: > > > Use bs_finish data structure in iSCSI thread per target context. > > > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> > > Signed-off-by: Chandra Seetharaman <sekharan@xxxxxxxxxx> > > > > --- > > usr/bs.c | 1 + > > usr/iscsi/iscsid.h | 2 ++ > > usr/iscsi/target.c | 17 ++++++++++++++++- > > 3 files changed, 19 insertions(+), 1 deletion(-) > > > > Index: tgt-102236c/usr/bs.c > > =================================================================== > > --- tgt-102236c.orig/usr/bs.c > > +++ tgt-102236c/usr/bs.c > > @@ -34,6 +34,7 @@ > > > > #include "list.h" > > #include "tgtd.h" > > +#include "target.h" > > #include "tgtadm_error.h" > > #include "util.h" > > #include "target.h" > > Index: tgt-102236c/usr/iscsi/iscsid.h > > =================================================================== > > --- tgt-102236c.orig/usr/iscsi/iscsid.h > > +++ tgt-102236c/usr/iscsi/iscsid.h > > @@ -259,6 +259,8 @@ struct iscsi_target { > > > > pthread_t thread; > > int stop_pthread; > > + > > + struct bs_finish bsfin; > > }; > > > > enum task_flags { > > Index: tgt-102236c/usr/iscsi/target.c > > =================================================================== > > --- tgt-102236c.orig/usr/iscsi/target.c > > +++ tgt-102236c/usr/iscsi/target.c > > @@ -384,6 +384,7 @@ void iscsi_target_destroy(int tid) > > pthread_kill(target->thread, SIGUSR2); > > > > pthread_join(target->thread, NULL); > > + pthread_mutex_destroy(&target->bsfin.finished_lock); > > } > > > > close(target->efd); > > @@ -405,6 +406,18 @@ static void *iscsi_thread_fn(void *arg) > > sigaddset(&mask, SIGUSR2); > > pthread_sigmask(SIG_BLOCK, &mask, NULL); > > > > + pthread_mutex_init(&t->bsfin.finished_lock, NULL); > > + INIT_LIST_HEAD(&t->bsfin.finished_list); > > + > > + t->bsfin.th_id = syscall(SYS_gettid); > > Can we simply use gettid here? -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html