diff --git a/app/rtkvideo/videomain.cpp b/app/rtkvideo/videomain.cpp index d0b30cd24b33abdadc5d9f220a84136d7f899e9d..1ea65e7d820fffeff46d9461788fc0ab4ed3c570 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 8ffd62ad923797e95c1318a2b11535fd1180e4bd..10dcc5e56abbb963f0362e2ad6d382d4f0fd64cc 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 b0aa4a0de740fd349fef5b9274aaafe8d4c5a206..a80d7275dc1f7c9689c757efaf2f6d6c814fa5c1 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 9c1f206f3858c45ef7846b7f92732f7b101745ca..9d1ab9631c331dc4a5831cf3ffb6a8c7ca18411c 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; @@ -2905,17 +2911,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 +2929,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 f1f2fa66af52fdb8c85431b4e641c11895c57c4b..eab337a9acef80637d2501e3e839a41d539bd4bc 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 3e3f02d9bf1f9c4a0cffe77cf67e02bfe48a2eb8..a82da2cfe48e98dbba00ba318b794ad139aa9a17 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 d87aa2890614af47d887c7472b144877fe7978a0..15c3903ecfed3bc5b4fe9c7d4cb24476c793a5a3 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 801351f23265ae7814fb0cc8ec2aaabbc04f8890..2e0dc32e31501cea1b6563a449184b3d36eac57c 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 ------------------------------------