From 71f0d35ed68ed8e508b802db59bf5558a0e76cb6 Mon Sep 17 00:00:00 2001 From: PepMS <jmarti@iri.upc.edu> Date: Mon, 4 May 2020 16:29:40 +0200 Subject: [PATCH] [bug] changed lcok functions names that had conflicts with pthread functions --- app/rtkvideo/videomain.cpp | 14 +++++++------- app/strsvr/svrmain.cpp | 4 ++-- app/strsvr_qt/svrmain.cpp | 4 ++-- src/rtkcmn.c | 30 ++++++++++++++++++++++++++---- src/rtklib.h | 8 ++++---- src/rtksvr.c | 2 +- src/stream.c | 34 +++++++++++++++++----------------- src/streamsvr.c | 8 ++++---- 8 files changed, 63 insertions(+), 41 deletions(-) diff --git a/app/rtkvideo/videomain.cpp b/app/rtkvideo/videomain.cpp index d0b30cd..1ea65e7 100644 --- a/app/rtkvideo/videomain.cpp +++ b/app/rtkvideo/videomain.cpp @@ -54,13 +54,13 @@ void __fastcall TStreamWriterThread::Execute(void) while (!Terminated) { - lock(&Parent->Lock); //// + rtk_lock(&Parent->Lock); //// if (Parent->FrameCount > Parent->SentFrameCount) { surf->Assign(Bitmap); Parent->SentFrameCount = Parent->FrameCount; - unlock(&Parent->Lock); //// + rtk_unlock(&Parent->Lock); //// buff->Clear(); codec->SaveToStream(buff, surf, L".jpg", params); @@ -71,7 +71,7 @@ void __fastcall TStreamWriterThread::Execute(void) } } else { - unlock(&Parent->Lock); //// + rtk_unlock(&Parent->Lock); //// } sleepms(15); } @@ -268,7 +268,7 @@ void __fastcall TMainForm::CaptureStop(void) //--------------------------------------------------------------------------- void __fastcall TMainForm::SampleBufferReady(TObject *Sender, const TMediaTime ATime) { - lock(&Lock); //// + rtk_lock(&Lock); //// CaptureTime = utc2gpst(timeget()); CaptureTick = tickget(); @@ -277,7 +277,7 @@ void __fastcall TMainForm::SampleBufferReady(TObject *Sender, const TMediaTime A if (CaptionPos) { DrawCaption(CapImage->Bitmap); } - unlock(&Lock); //// + rtk_unlock(&Lock); //// } //--------------------------------------------------------------------------- void __fastcall TMainForm::DrawCaption(TBitmap *bitmap) @@ -310,7 +310,7 @@ void __fastcall TMainForm::Timer1Timer(TObject *Sender) char msg[1024], str_msg[4096] = "", *p, *q; int outb = 0, outr = 0, frame_count; - lock(&Lock); //// + rtk_lock(&Lock); //// frame_count = SentFrameCount; capture_time = CaptureTime; @@ -319,7 +319,7 @@ void __fastcall TMainForm::Timer1Timer(TObject *Sender) DispImage->Bitmap->Assign(CapImage->Bitmap); DispFrameCount = SentFrameCount; } - unlock(&Lock); //// + rtk_unlock(&Lock); //// if (++TimerCount*Timer1->Interval >= 1000) { FrameRate = frame_count-FrameCount0; diff --git a/app/strsvr/svrmain.cpp b/app/strsvr/svrmain.cpp index 8ffd62a..10dcc5e 100644 --- a/app/strsvr/svrmain.cpp +++ b/app/strsvr/svrmain.cpp @@ -616,13 +616,13 @@ void __fastcall TMainForm::Timer2Timer(TObject *Sender) int i,len,inb,inr,outb,outr; if (StrMonDialog->StrFmt) { - lock(&strsvr.lock); + rtk_lock(&strsvr.lock); len=strsvr.npb; if (len>0&&(msg=(unsigned char *)malloc(len))) { memcpy(msg,strsvr.pbuf,len); strsvr.npb=0; } - unlock(&strsvr.lock); + rtk_unlock(&strsvr.lock); if (len<=0||!msg) return; StrMonDialog->AddMsg(msg,len); free(msg); diff --git a/app/strsvr_qt/svrmain.cpp b/app/strsvr_qt/svrmain.cpp index b0aa4a0..a80d727 100644 --- a/app/strsvr_qt/svrmain.cpp +++ b/app/strsvr_qt/svrmain.cpp @@ -647,14 +647,14 @@ void MainForm::Timer2Timer() unsigned char *msg=0; int len; - lock(&strsvr.lock); + rtk_lock(&strsvr.lock); len=strsvr.npb; if (len>0&&(msg=(unsigned char *)malloc(len))) { memcpy(msg,strsvr.pbuf,len); strsvr.npb=0; } - unlock(&strsvr.lock); + rtk_unlock(&strsvr.lock); if (len<=0||!msg) return; diff --git a/src/rtkcmn.c b/src/rtkcmn.c index 9c1f206..c149b0d 100644 --- a/src/rtkcmn.c +++ b/src/rtkcmn.c @@ -2517,6 +2517,12 @@ extern int geterp(const erp_t *erp, gtime_t time, double *erpv) return 1; } /* compare ephemeris ---------------------------------------------------------*/ +static int cmpeph_toe(const void *p1, const void *p2) +{ + eph_t *q1=(eph_t *)p1,*q2=(eph_t *)p2; + return q1->toe.time!=q2->toe.time?(int)(q1->toe.time-q2->toe.time): + q1->sat-q2->sat; +} static int cmpeph(const void *p1, const void *p2) { eph_t *q1=(eph_t *)p1,*q2=(eph_t *)p2; @@ -2535,6 +2541,13 @@ static void uniqeph(nav_t *nav) if (nav->n<=0) return; qsort(nav->eph,nav->n,sizeof(eph_t),cmpeph); + + printf("------ UNIQ EPH (Bef. del.) ------ \n"); + for (int k=0; k<nav->n; k++) + { + printf("Satellite: %d. TTR: %ld. TOE: %ld. IODE: %d \n", nav->eph[k].sat, nav->eph[k].ttr.time, nav->eph[k].toe.time, nav->eph[k].iode); + } + printf("------ UNIQ EPH (Bef. del.) ------ \n"); for (i=1,j=0;i<nav->n;i++) { if (nav->eph[i].sat!=nav->eph[j].sat|| @@ -2552,6 +2565,15 @@ static void uniqeph(nav_t *nav) nav->eph=nav_eph; nav->nmax=nav->n; + qsort(nav->eph,nav->n,sizeof(eph_t),cmpeph_toe); + + printf("------ UNIQ EPH (Aft. del.) ------ \n"); + for (int k=0; k<nav->n; k++) + { + printf("Satellite: %d. TTR: %ld. TOE: %ld. IODE: %d. TTR-TOE: %ld \n", nav->eph[k].sat, nav->eph[k].ttr.time, nav->eph[k].toe.time, nav->eph[k].iode, nav->eph[k].ttr.time - nav->eph[k].toe.time); + } + printf("------ UNIQ EPH (Aft. del.) ------ \n"); + trace(4,"uniqeph: n=%d\n",nav->n); } /* compare glonass ephemeris -------------------------------------------------*/ @@ -2905,17 +2927,17 @@ static void traceswap(void) gtime_t time=utc2gpst(timeget()); char path[1024]; - lock(&lock_trace); + rtk_lock(&lock_trace); if ((int)(time2gpst(time ,NULL)/INT_SWAP_TRAC)== (int)(time2gpst(time_trace,NULL)/INT_SWAP_TRAC)) { - unlock(&lock_trace); + rtk_unlock(&lock_trace); return; } time_trace=time; if (!reppath(file_trace,path,time,"","")) { - unlock(&lock_trace); + rtk_unlock(&lock_trace); return; } if (fp_trace) fclose(fp_trace); @@ -2923,7 +2945,7 @@ static void traceswap(void) if (!(fp_trace=fopen(path,"w"))) { fp_trace=stderr; } - unlock(&lock_trace); + rtk_unlock(&lock_trace); } extern void traceopen(const char *file) { diff --git a/src/rtklib.h b/src/rtklib.h index f1f2fa6..eab337a 100644 --- a/src/rtklib.h +++ b/src/rtklib.h @@ -526,15 +526,15 @@ extern "C" { #define thread_t HANDLE #define lock_t CRITICAL_SECTION #define initlock(f) InitializeCriticalSection(f) -#define lock(f) EnterCriticalSection(f) -#define unlock(f) LeaveCriticalSection(f) +#define rtk_lock(f) EnterCriticalSection(f) +#define rtk_unlock(f) LeaveCriticalSection(f) #define FILEPATHSEP '\\' #else #define thread_t pthread_t #define lock_t pthread_mutex_t #define initlock(f) pthread_mutex_init(f,NULL) -#define lock(f) pthread_mutex_lock(f) -#define unlock(f) pthread_mutex_unlock(f) +#define rtk_lock(f) pthread_mutex_lock(f) +#define rtk_unlock(f) pthread_mutex_unlock(f) #define FILEPATHSEP '/' #endif diff --git a/src/rtksvr.c b/src/rtksvr.c index 3e3f02d..a82da2c 100644 --- a/src/rtksvr.c +++ b/src/rtksvr.c @@ -754,7 +754,7 @@ extern void rtksvrfree(rtksvr_t *svr) * return : status (1:ok 0:error) *-----------------------------------------------------------------------------*/ extern void rtksvrlock (rtksvr_t *svr) {lock (&svr->lock);} -extern void rtksvrunlock(rtksvr_t *svr) {unlock(&svr->lock);} +extern void rtksvrunlock(rtksvr_t *svr) {rtk_unlock(&svr->lock);} /* start rtk server ------------------------------------------------------------ * start rtk server thread diff --git a/src/stream.c b/src/stream.c index d87aa28..15c3903 100644 --- a/src/stream.c +++ b/src/stream.c @@ -276,12 +276,12 @@ static int readseribuff(serial_t *serial, unsigned char *buff, int nmax) tracet(5,"readseribuff: dev=%d\n",serial->dev); - lock(&serial->lock); + rtk_lock(&serial->lock); for (ns=0;serial->rp!=serial->wp&&ns<nmax;ns++) { buff[ns]=serial->buff[serial->rp]; if (++serial->rp>=serial->buffsize) serial->rp=0; } - unlock(&serial->lock); + rtk_unlock(&serial->lock); tracet(5,"readseribuff: ns=%d rp=%d wp=%d\n",ns,serial->rp,serial->wp); return ns; } @@ -291,7 +291,7 @@ static int writeseribuff(serial_t *serial, unsigned char *buff, int n) tracet(5,"writeseribuff: dev=%d n=%d\n",serial->dev,n); - lock(&serial->lock); + rtk_lock(&serial->lock); for (ns=0;ns<n;ns++) { serial->buff[wp=serial->wp]=buff[ns]; if (++wp>=serial->buffsize) wp=0; @@ -301,7 +301,7 @@ static int writeseribuff(serial_t *serial, unsigned char *buff, int n) break; } } - unlock(&serial->lock); + rtk_unlock(&serial->lock); tracet(5,"writeseribuff: ns=%d rp=%d wp=%d\n",ns,serial->rp,serial->wp); return ns; } @@ -1826,16 +1826,16 @@ static int test_mntpnt(ntripc_t *ntripc, const char *mntpnt) { char *p,str[256]; - lock(&ntripc->lock_srctbl); + rtk_lock(&ntripc->lock_srctbl); if (!ntripc->srctbl) { - unlock(&ntripc->lock_srctbl); + rtk_unlock(&ntripc->lock_srctbl); return 1; } for (p=ntripc->srctbl;(p=strstr(p,"STR;"));p++) { if (sscanf(p,"STR;%255[^;]",str)&&!strcmp(str,mntpnt)) break; } - unlock(&ntripc->lock_srctbl); + rtk_unlock(&ntripc->lock_srctbl); return p!=NULL; } @@ -1845,7 +1845,7 @@ static void send_srctbl(ntripc_t *ntripc, socket_t sock) char buff[1024],*p=buff; int len; - lock(&ntripc->lock_srctbl); + rtk_lock(&ntripc->lock_srctbl); len=ntripc->srctbl?strlen(ntripc->srctbl):0; p+=sprintf(p,"%s",NTRIP_RSP_SRCTBL); @@ -1858,7 +1858,7 @@ static void send_srctbl(ntripc_t *ntripc, socket_t sock) if (len>0) { send_nb(sock,(unsigned char *)ntripc->srctbl,len); } - unlock(&ntripc->lock_srctbl); + rtk_unlock(&ntripc->lock_srctbl); } /* test ntrip-caster client request ------------------------------------------*/ static void rsp_ntripc_c(ntripc_t *ntripc, int i) @@ -2581,14 +2581,14 @@ static int readmembuf(membuf_t *membuf, unsigned char *buff, int n, char *msg) if (!membuf) return 0; - lock(&membuf->lock); + rtk_lock(&membuf->lock); for (i=membuf->rp;i!=membuf->wp&&nr<n;i++) { if (i>=membuf->bufsize) i=0; buff[nr++]=membuf->buf[i]; } membuf->rp=i; - unlock(&membuf->lock); + rtk_unlock(&membuf->lock); return nr; } /* write memory buffer -------------------------------------------------------*/ @@ -2600,7 +2600,7 @@ static int writemembuf(membuf_t *membuf, unsigned char *buff, int n, char *msg) if (!membuf) return 0; - lock(&membuf->lock); + rtk_lock(&membuf->lock); for (i=0;i<n;i++) { membuf->buf[membuf->wp++]=buff[i]; @@ -2608,11 +2608,11 @@ static int writemembuf(membuf_t *membuf, unsigned char *buff, int n, char *msg) if (membuf->wp==membuf->rp) { strcpy(msg,"mem-buffer overflow"); membuf->state=-1; - unlock(&membuf->lock); + rtk_unlock(&membuf->lock); return i+1; } } - unlock(&membuf->lock); + rtk_unlock(&membuf->lock); return i; } /* get state memory buffer ---------------------------------------------------*/ @@ -2874,7 +2874,7 @@ extern void strsync(stream_t *stream1, stream_t *stream2) * return : none *-----------------------------------------------------------------------------*/ extern void strlock (stream_t *stream) {lock (&stream->lock);} -extern void strunlock(stream_t *stream) {unlock(&stream->lock);} +extern void strunlock(stream_t *stream) {rtk_unlock(&stream->lock);} /* read stream ----------------------------------------------------------------- * read data from stream (unblocked) @@ -3157,12 +3157,12 @@ extern int strsetsrctbl(stream_t *stream, const char *file) fclose(fp); tracet(3,"strsetsrctbl: n=%d\n",n); - lock(&ntripc->lock_srctbl); + rtk_lock(&ntripc->lock_srctbl); free(ntripc->srctbl); ntripc->srctbl=srctbl; - unlock(&ntripc->lock_srctbl); + rtk_unlock(&ntripc->lock_srctbl); strunlock(stream); return 1; } diff --git a/src/streamsvr.c b/src/streamsvr.c index 801351f..2e0dc32 100644 --- a/src/streamsvr.c +++ b/src/streamsvr.c @@ -484,11 +484,11 @@ static void *strsvrthread(void *arg) strwrite(svr->stream+i,svr->buff,n); } } - lock(&svr->lock); + rtk_lock(&svr->lock); for (i=0;i<n&&svr->npb<svr->buffsize;i++) { svr->pbuf[svr->npb++]=svr->buff[i]; } - unlock(&svr->lock); + rtk_unlock(&svr->lock); } for (i=1;i<svr->nstr;i++) { @@ -745,7 +745,7 @@ extern int strsvrpeek(strsvr_t *svr, unsigned char *buff, int nmax) if (!svr->state) return 0; - lock(&svr->lock); + rtk_lock(&svr->lock); n=svr->npb<nmax?svr->npb:nmax; if (n>0) { memcpy(buff,svr->pbuf,n); @@ -754,7 +754,7 @@ extern int strsvrpeek(strsvr_t *svr, unsigned char *buff, int nmax) memmove(svr->pbuf,svr->pbuf+n,svr->npb-n); } svr->npb-=n; - unlock(&svr->lock); + rtk_unlock(&svr->lock); return n; } /* set ntrip source table for stream server ------------------------------------ -- GitLab