mirror of
https://github.com/mariusgreuel/avrdude.git
synced 2025-12-15 02:01:07 +00:00
* ft245r.c: added semaphore workaround for MacOS X, added pthread_testcancel in reader thread * configure.ac: added check for TYPE_232H in libftdi (not in libftdi < 0.20) * avrftdi.c: do not use TYPE_232H if not declared git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1101 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
13
ft245r.c
13
ft245r.c
@@ -73,7 +73,19 @@
|
||||
#ifdef HAVE_PTHREAD_H
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
/* Mac OS X defines sem_init but actually does not implement them */
|
||||
#include <dispatch/dispatch.h>
|
||||
|
||||
typedef dispatch_semaphore_t sem_t;
|
||||
|
||||
#define sem_init(psem,x,val) *psem = dispatch_semaphore_create(val)
|
||||
#define sem_post(psem) dispatch_semaphore_signal(*psem)
|
||||
#define sem_wait(psem) dispatch_semaphore_wait(*psem, DISPATCH_TIME_FOREVER)
|
||||
#else
|
||||
#include <semaphore.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBFTDI
|
||||
|
||||
@@ -130,6 +142,7 @@ static void *reader (void *arg) {
|
||||
int br, i;
|
||||
|
||||
while (1) {
|
||||
pthread_testcancel();
|
||||
br = ftdi_read_data (handle, buf, sizeof(buf));
|
||||
for (i=0; i<br; i++)
|
||||
add_to_buf (buf[i]);
|
||||
|
||||
Reference in New Issue
Block a user