From fe12d31e6873f5c3de330f1de4c4fbc851df1e9f Mon Sep 17 00:00:00 2001 From: Olaf Meeuwissen Date: Fri, 13 Nov 2015 21:41:56 +0900 Subject: [PATCH] Fix SANE_Pid related -Wsign-compare warnings This may fix threading related issues on WIN32 platforms, BTW. --- backend/agfafocus.c | 4 ++-- backend/artec_eplus48u.c | 4 ++-- backend/avision.c | 2 +- backend/coolscan.c | 6 +++--- backend/hp-handle.c | 2 +- backend/hp3500.c | 4 ++-- backend/microtek2.c | 4 ++-- backend/mustek.c | 6 +++--- backend/pie.c | 4 ++-- backend/pixma.c | 8 ++++---- backend/plustek.c | 4 ++-- backend/snapscan.c | 10 +++++----- backend/sp15c.c | 2 +- backend/tamarack.c | 4 ++-- backend/test.c | 6 +++--- backend/u12.c | 4 ++-- backend/umax.c | 6 +++--- sanei/sanei_thread.c | 2 +- 18 files changed, 41 insertions(+), 41 deletions(-) diff --git a/backend/agfafocus.c b/backend/agfafocus.c index 45d103f07..2a7df1db8 100644 --- a/backend/agfafocus.c +++ b/backend/agfafocus.c @@ -947,7 +947,7 @@ do_cancel (AgfaFocus_Scanner * s) do_eof (s); - if (s->reader_pid != -1) + if (!sanei_thread_is_invalid (s->reader_pid)) { int exit_status; @@ -2054,7 +2054,7 @@ sane_cancel (SANE_Handle handle) { AgfaFocus_Scanner *s = handle; - if (s->reader_pid != -1) + if (!sanei_thread_is_invalid (s->reader_pid)) sanei_thread_kill (s->reader_pid); s->scanning = SANE_FALSE; } diff --git a/backend/artec_eplus48u.c b/backend/artec_eplus48u.c index bc3b2f837..844ff9ba3 100644 --- a/backend/artec_eplus48u.c +++ b/backend/artec_eplus48u.c @@ -3483,7 +3483,7 @@ do_cancel (Artec48U_Scanner * s, SANE_Bool closepipe) s->scanning = SANE_FALSE; - if (s->reader_pid != -1) + if (!sanei_thread_is_invalid (s->reader_pid)) { /*parent */ XDBG ((1, "killing reader_process\n")); @@ -4301,7 +4301,7 @@ sane_start (SANE_Handle handle) s->reader_pipe = fds[1]; s->reader_pid = sanei_thread_begin (reader_process, s); cancelRead = SANE_FALSE; - if (s->reader_pid == -1) + if (sanei_thread_is_invalid (s->reader_pid)) { s->scanning = SANE_FALSE; XDBG ((2, "sane_start: sanei_thread_begin failed (%s)\n", strerror (errno))); diff --git a/backend/avision.c b/backend/avision.c index 146125c67..8c2ff3a2d 100644 --- a/backend/avision.c +++ b/backend/avision.c @@ -6216,7 +6216,7 @@ do_cancel (Avision_Scanner* s) s->duplex_rear_valid = SANE_FALSE; s->page = 0; - if (s->reader_pid != -1) { + if (!sanei_thread_is_invalid (s->reader_pid)) { int exit_status; /* ensure child knows it's time to stop: */ diff --git a/backend/coolscan.c b/backend/coolscan.c index 6828a1635..6e1c16c8a 100644 --- a/backend/coolscan.c +++ b/backend/coolscan.c @@ -2029,7 +2029,7 @@ do_cancel (Coolscan_t * scanner) do_eof (scanner); /* close pipe and reposition scanner */ - if (scanner->reader_pid != -1) + if (!sanei_thread_is_invalid (scanner->reader_pid)) { int exit_status; @@ -4093,7 +4093,7 @@ sane_start (SANE_Handle handle) scanner->pipe = fds[0]; scanner->reader_fds = fds[1]; scanner->reader_pid = sanei_thread_begin( reader_process, (void*)scanner ); - if (scanner->reader_pid == -1) + if (sanei_thread_is_invalid (scanner->reader_pid)) { DBG (1, "sane_start: sanei_thread_begin failed (%s)\n", strerror (errno)); @@ -4153,7 +4153,7 @@ sane_cancel (SANE_Handle handle) { Coolscan_t *s = handle; - if (s->reader_pid != -1) + if (!sanei_thread_is_invalid (s->reader_pid)) { sanei_thread_kill ( s->reader_pid ); sanei_thread_waitpid( s->reader_pid, NULL ); diff --git a/backend/hp-handle.c b/backend/hp-handle.c index d9be2d59b..c0d999d84 100644 --- a/backend/hp-handle.c +++ b/backend/hp-handle.c @@ -192,7 +192,7 @@ hp_handle_startReader (HpHandle this, HpScsi scsi) this->pipe_write_fd = -1; } - if (this->reader_pid == -1) /* Creating child failed ? Clean up pipe */ + if (sanei_thread_is_invalid (this->reader_pid)) { if ( !this->child_forked ) { diff --git a/backend/hp3500.c b/backend/hp3500.c index 48a80352f..9454721b5 100644 --- a/backend/hp3500.c +++ b/backend/hp3500.c @@ -703,7 +703,7 @@ sane_start (SANE_Handle handle) scanner->reader_pid = sanei_thread_begin (reader_process, scanner); time (&scanner->last_scan); - if (scanner->reader_pid == -1) + if (sanei_thread_is_invalid (scanner->reader_pid)) { DBG (MSG_ERR, "cannot fork reader process.\n"); DBG (MSG_ERR, "%s", strerror (errno)); @@ -1098,7 +1098,7 @@ do_reset (struct hp3500_data *scanner) static void do_cancel (struct hp3500_data *scanner) { - if (scanner->reader_pid != -1) + if (!sanei_thread_is_invalid (scanner->reader_pid)) { if (sanei_thread_kill (scanner->reader_pid) == 0) diff --git a/backend/microtek2.c b/backend/microtek2.c index 8fdf497e4..6ae7a639f 100644 --- a/backend/microtek2.c +++ b/backend/microtek2.c @@ -909,7 +909,7 @@ cancel_scan(Microtek2_Scanner *ms) of material on a feeder, then pid may be already -1 and kill(-1, SIGTERM), i.e. killing all our processes, is not likely what we really want - --mj, 2001/Nov/19 */ - if (ms->pid != -1) + if (!sanei_thread_is_invalid (ms->pid)) { sanei_thread_kill(ms->pid); sanei_thread_waitpid(ms->pid, NULL); @@ -5503,7 +5503,7 @@ sane_start(SANE_Handle handle) /* create reader routine as new thread or process */ ms->pid = sanei_thread_begin( reader_process,(void*) ms); - if ( ms->pid == -1 ) + if ( sanei_thread_is_invalid (ms->pid) ) { DBG(1, "sane_start: fork failed\n"); status = SANE_STATUS_IO_ERROR; diff --git a/backend/mustek.c b/backend/mustek.c index 7f0db8cf4..d6013b450 100644 --- a/backend/mustek.c +++ b/backend/mustek.c @@ -2952,7 +2952,7 @@ do_stop (Mustek_Scanner * s) s->scanning = SANE_FALSE; s->pass = 0; - if (s->reader_pid != -1) + if (!sanei_thread_is_invalid (s->reader_pid)) { SANE_Int exit_status; struct timeval now; @@ -2983,7 +2983,7 @@ do_stop (Mustek_Scanner * s) sanei_thread_kill (s->reader_pid); pid = sanei_thread_waitpid (s->reader_pid, &exit_status); - if (pid == -1) + if (sanei_thread_is_invalid (pid)) { DBG (1, "do_stop: sanei_thread_waitpid failed, already terminated? (%s)\n", @@ -6565,7 +6565,7 @@ sane_start (SANE_Handle handle) /* create reader routine as new process or thread */ s->reader_pid = sanei_thread_begin (reader_process, (void *) s); - if (s->reader_pid == -1) + if (sanei_thread_is_invalid (s->reader_pid)) { DBG (1, "sane_start: sanei_thread_begin failed (%s)\n", strerror (errno)); diff --git a/backend/pie.c b/backend/pie.c index 941ed62f0..f058583be 100644 --- a/backend/pie.c +++ b/backend/pie.c @@ -2896,7 +2896,7 @@ do_cancel (Pie_Scanner * scanner) scanner->scanning = SANE_FALSE; - if (scanner->reader_pid != -1) + if (!sanei_thread_is_invalid (scanner->reader_pid)) { DBG (DBG_sane_info, "killing reader_process\n"); sanei_thread_kill (scanner->reader_pid); @@ -3703,7 +3703,7 @@ sane_start (SANE_Handle handle) scanner->reader_fds = fds[1]; scanner->reader_pid = sanei_thread_begin( reader_process, (void*)scanner ); - if (scanner->reader_pid == -1) + if (sanei_thread_is_invalid (scanner->reader_pid)) { DBG (1, "sane_start: sanei_thread_begin failed (%s)\n", strerror (errno)); diff --git a/backend/pixma.c b/backend/pixma.c index 33961551c..c8bddceb0 100644 --- a/backend/pixma.c +++ b/backend/pixma.c @@ -1083,7 +1083,7 @@ terminate_reader_task (pixma_sane_t * ss, int *exit_code) int status = 0; pid = ss->reader_taskid; - if (pid == -1) + if (sanei_thread_is_invalid (pid)) return -1; if (sanei_thread_is_forked ()) { @@ -1129,7 +1129,7 @@ start_reader_task (pixma_sane_t * ss) ss->rpipe = -1; ss->wpipe = -1; } - if (ss->reader_taskid != -1) + if (!sanei_thread_is_invalid (ss->reader_taskid)) { PDBG (pixma_dbg (1, "BUG:reader_taskid(%ld) != -1\n", (long) ss->reader_taskid)); @@ -1159,7 +1159,7 @@ start_reader_task (pixma_sane_t * ss) { pid = sanei_thread_begin (reader_thread, ss); } - if (pid == -1) + if (sanei_thread_is_invalid (pid)) { close (ss->wpipe); close (ss->rpipe); @@ -1227,7 +1227,7 @@ read_image (pixma_sane_t * ss, void *buf, unsigned size, int *readlen) ss->image_bytes_read, ss->sp.image_size)); close (ss->rpipe); ss->rpipe = -1; - if (terminate_reader_task (ss, &status) != -1 + if (!sanei_thread_is_invalid (terminate_reader_task (ss, &status)) && status != SANE_STATUS_GOOD) { return status; diff --git a/backend/plustek.c b/backend/plustek.c index cd83c2655..2342618c4 100644 --- a/backend/plustek.c +++ b/backend/plustek.c @@ -572,7 +572,7 @@ do_cancel( Plustek_Scanner *scanner, SANE_Bool closepipe ) DBG( _DBG_PROC,"do_cancel\n" ); scanner->scanning = SANE_FALSE; - if( scanner->reader_pid != -1 ) { + if( !sanei_thread_is_invalid (scanner->reader_pid) ) { DBG( _DBG_PROC, ">>>>>>>> killing reader_process <<<<<<<<\n" ); @@ -2629,7 +2629,7 @@ sane_start( SANE_Handle handle ) cancelRead = SANE_FALSE; - if( s->reader_pid == -1 ) { + if( sanei_thread_is_invalid (s->reader_pid) ) { DBG( _DBG_ERROR, "ERROR: could not start reader task\n" ); s->scanning = SANE_FALSE; usbDev_close( dev ); diff --git a/backend/snapscan.c b/backend/snapscan.c index 3c0fb81f7..9c4e82908 100644 --- a/backend/snapscan.c +++ b/backend/snapscan.c @@ -1301,7 +1301,7 @@ static SANE_Status start_reader (SnapScan_Scanner *pss) cancelRead = SANE_FALSE; - if (pss->child == -1) + if (sanei_thread_is_invalid (pss->child)) { /* we'll have to read in blocking mode */ DBG (DL_MAJOR_ERROR, @@ -1815,7 +1815,7 @@ SANE_Status sane_read (SANE_Handle h, if (pss->psrc == NULL || pss->psrc->remaining(pss->psrc) == 0) { - if (pss->child != -1) + if (!sanei_thread_is_invalid (pss->child)) { sanei_thread_waitpid (pss->child, 0); /* ensure no zombies */ pss->child = -1; @@ -1875,7 +1875,7 @@ void sane_cancel (SANE_Handle h) /* signal a cancellation has occurred */ pss->state = ST_CANCEL_INIT; /* signal the reader, if any */ - if (pss->child != -1) + if (!sanei_thread_is_invalid (pss->child)) { DBG( DL_INFO, ">>>>>>>> killing reader_process <<<<<<<<\n" ); @@ -1941,7 +1941,7 @@ SANE_Status sane_set_io_mode (SANE_Handle h, SANE_Bool m) if (m) { - if (pss->child == -1) + if (sanei_thread_is_invalid (pss->child)) { DBG (DL_MINOR_INFO, "%s: no reader child; must use blocking mode.\n", @@ -1971,7 +1971,7 @@ SANE_Status sane_get_select_fd (SANE_Handle h, SANE_Int * fd) if (pss->state != ST_SCAN_INIT) return SANE_STATUS_INVAL; - if (pss->child == -1) + if (sanei_thread_is_invalid (pss->child)) { DBG (DL_MINOR_INFO, "%s: no reader child; cannot provide select file descriptor.\n", diff --git a/backend/sp15c.c b/backend/sp15c.c index 3937a30fb..2271fd4e6 100644 --- a/backend/sp15c.c +++ b/backend/sp15c.c @@ -1762,7 +1762,7 @@ do_cancel (struct sp15c *scanner) do_eof (scanner); /* close pipe and reposition scanner */ - if (scanner->reader_pid != -1) + if (!sanei_thread_is_invalid (scanner->reader_pid)) { int exit_status; DBG (10, "do_cancel: kill reader_process\n"); diff --git a/backend/tamarack.c b/backend/tamarack.c index e7073af91..f75e91b63 100644 --- a/backend/tamarack.c +++ b/backend/tamarack.c @@ -470,7 +470,7 @@ do_cancel (Tamarack_Scanner *s) do_eof (s); - if (s->reader_pid != -1) + if (!sanei_thread_is_invalid (s->reader_pid)) { int exit_status; @@ -1442,7 +1442,7 @@ sane_cancel (SANE_Handle handle) { Tamarack_Scanner *s = handle; - if (s->reader_pid != -1) + if (!sanei_thread_is_invalid (s->reader_pid)) sanei_thread_kill (s->reader_pid); s->scanning = SANE_FALSE; } diff --git a/backend/test.c b/backend/test.c index d5b73653c..3c1669d15 100644 --- a/backend/test.c +++ b/backend/test.c @@ -1355,7 +1355,7 @@ finish_pass (Test_Device * test_device) DBG (2, "finish_pass: pipe closed\n"); test_device->pipe = -1; } - if (test_device->reader_pid != -1) + if (!sanei_thread_is_invalid (test_device->reader_pid)) { int status; SANE_Pid pid; @@ -1364,7 +1364,7 @@ finish_pass (Test_Device * test_device) (long) test_device->reader_pid); sanei_thread_kill (test_device->reader_pid); pid = sanei_thread_waitpid (test_device->reader_pid, &status); - if (pid == -1) + if (sanei_thread_is_invalid (pid)) { DBG (1, "finish_pass: sanei_thread_waitpid failed, already terminated? (%s)\n", @@ -2568,7 +2568,7 @@ sane_start (SANE_Handle handle) test_device->reader_pid = sanei_thread_begin (reader_task, (void *) test_device); - if (test_device->reader_pid == -1) + if (sanei_thread_is_invalid (test_device->reader_pid)) { DBG (1, "sane_start: sanei_thread_begin failed (%s)\n", strerror (errno)); diff --git a/backend/u12.c b/backend/u12.c index 8401a9f58..e30482364 100644 --- a/backend/u12.c +++ b/backend/u12.c @@ -391,7 +391,7 @@ static SANE_Status do_cancel( U12_Scanner *scanner, SANE_Bool closepipe ) scanner->scanning = SANE_FALSE; - if( scanner->reader_pid != -1 ) { + if( !sanei_thread_is_invalid (scanner->reader_pid) ) { DBG( _DBG_PROC, ">>>>>>>> killing reader_process <<<<<<<<\n" ); @@ -1731,7 +1731,7 @@ SANE_Status sane_start( SANE_Handle handle ) cancelRead = SANE_FALSE; - if( s->reader_pid == -1 ) { + if( sanei_thread_is_invalid (s->reader_pid) ) { DBG( _DBG_ERROR, "ERROR: could not start reader task\n" ); s->scanning = SANE_FALSE; u12if_close( dev ); diff --git a/backend/umax.c b/backend/umax.c index 0d8ddbabc..a3e410d7e 100644 --- a/backend/umax.c +++ b/backend/umax.c @@ -4670,14 +4670,14 @@ static SANE_Status do_cancel(Umax_Scanner *scanner) scanner->scanning = SANE_FALSE; - if (scanner->reader_pid != -1) + if (!sanei_thread_is_invalid (scanner->reader_pid)) { DBG(DBG_sane_info,"killing reader_process\n"); sanei_thread_kill(scanner->reader_pid); pid = sanei_thread_waitpid(scanner->reader_pid, &status); - if (pid == -1) + if (sanei_thread_is_invalid (pid)) { DBG(DBG_sane_info, "do_cancel: sanei_thread_waitpid failed, already terminated ? (%s)\n", strerror(errno)); } @@ -7996,7 +7996,7 @@ SANE_Status sane_start(SANE_Handle handle) /* start reader_process, deponds on OS if fork() or threads are used */ scanner->reader_pid = sanei_thread_begin(reader_process, (void *) scanner); - if (scanner->reader_pid == -1) + if (sanei_thread_is_invalid (scanner->reader_pid)) { DBG(DBG_error, "ERROR: sanei_thread_begin failed (%s)\n", strerror(errno)); scanner->scanning = SANE_FALSE; diff --git a/sanei/sanei_thread.c b/sanei/sanei_thread.c index 8db4a21ab..6a019fc8a 100644 --- a/sanei/sanei_thread.c +++ b/sanei/sanei_thread.c @@ -147,7 +147,7 @@ sanei_thread_is_invalid( SANE_Pid pid ) #endif rc = SANE_TRUE; #else - if (pid == -1) + if (pid == (SANE_Pid) -1) rc = SANE_TRUE; #endif