This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: nptl threading support for schedlock.exp


Patch checked in. Thanks.

-- Jeff J.

Daniel Jacobowitz wrote:
On Wed, May 07, 2003 at 05:11:38PM -0400, Elena Zannoni wrote:

J. Johnston writes:
> The following changes schedlock.exp for running with nptl threads.
> Under the nptl model, a very small time slice is not divided up equally
> as it was in the past with linuxthreads.
> > The test case is also changed to ensure that one of the child threads
> is used to test schedule locking instead of the main thread. In early
> testing with nptl, a kernel problem was identified when the main thread
> was locked and an interrupt signal was sent.
> > Ok to commit?


Seems ok, Daniel? Can this go in?
It is all passes with the NPTL patches that are still pending.


Looks good to me too.


> > -- Jeff J.
> > 2003-04-23 Jeff Johnston <jjohnstn@redhat.com>
> > * gdb.threads/schedlock.exp: Remove assumption that all threads will run in a
> particular small time slice. Also ensure we break in one of the child threads
> rather than the main thread.
> > Index: schedlock.exp
> ===================================================================
> RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/schedlock.exp,v
> retrieving revision 1.3
> diff -u -r1.3 schedlock.exp
> --- schedlock.exp 4 Jan 2003 23:05:05 -0000 1.3
> +++ schedlock.exp 23 Apr 2003 18:31:05 -0000
> @@ -112,8 +112,8 @@
> > stop_process "stop all threads ($msg)"
> > - # Make sure we're in one of the looping threads.
> - gdb_breakpoint [gdb_get_line_number "schedlock.exp: main loop"]
> + # Make sure we're in one of the non-main looping threads.
> + gdb_breakpoint [concat [gdb_get_line_number "schedlock.exp: main loop"] " if arg != 5"]
> gdb_continue_to_breakpoint "return to loop ($msg)"
> delete_breakpoints
> }
> @@ -230,12 +230,11 @@
> set start_args $cont_args
> set cont_args [get_args]
> > +set num_other_threads 0
> for {set i 0} {[expr $i < 6]} {set i [expr $i + 1]} {
> if {[lindex $start_args $i] == [lindex $cont_args $i]} {
> if {$i == $curthread} {
> fail "current thread stepped (didn't run)"
> - } else {
> - fail "other thread $i ran (didn't run) (1)"
> }
> } else {
> if {$i == $curthread} {
> @@ -245,9 +244,14 @@
> fail "current thread stepped (wrong amount)"
> }
> } else {
> - pass "other thread $i ran (1)"
> + set num_other_threads [expr $num_other_threads + 1]
> }
> }
> +}
> +if {$num_other_threads > 0} {
> + pass "other threads ran (1)"
> +} else {
> + fail "other threads ran (no other threads ran) (1)"
> }
> > # Test continue with scheduler locking







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]