This commit is contained in:
Ren RenJuan 2014-01-30 18:17:29 +00:00
parent 0351d50bd3
commit 9cd15aedc4
1 changed files with 11 additions and 6 deletions

View File

@ -37,7 +37,7 @@ using namespace std;
#define EODMARGIN 3 // minutes
#define EVENT_SIZE ( sizeof (struct inotify_event) )
#define BUF_LEN ( 32 * ( EVENT_SIZE + 16 ) )
#define BUF_LEN ( 1024 * ( EVENT_SIZE + 16 ) )
//char *name1 = "bestever.camera"; //
//char *name3 = "pricey.holdings"; //
//char *name5 = "greedy.ventures"; //
@ -126,7 +126,7 @@ void ausRegEPPTK::registryXOTE() { // PROD in OTE
// meant to be actual production.
bool actionableFileEvent,monitoring=true;
int length, i = 0, mSleeps=0, nSleeps=0,debug=10000;
int length, i = 0, j, mSleeps=0, nSleeps=0,debug=10000;
int fd, wd;
char buffer[BUF_LEN];
@ -152,7 +152,7 @@ void ausRegEPPTK::registryXOTE() { // PROD in OTE
}
while ( length >= 0 && monitoring )
while ( length >= 0 && (BUF_LEN - i) >= length && monitoring )
{ actionableFileEvent = false;
struct inotify_event *event = ( struct inotify_event * ) &buffer[ i ];
@ -184,7 +184,6 @@ void ausRegEPPTK::registryXOTE() { // PROD in OTE
}
}
i += EVENT_SIZE + event->len;
if (actionableFileEvent) { char wxyz[100]; sprintf(wxyz,"./json/%s",event->name);
mdJSON scriptor;
@ -206,9 +205,15 @@ void ausRegEPPTK::registryXOTE() { // PROD in OTE
}
}
}
j = i;
if (i >= (BUF_LEN - (EVENT_SIZE + event->len)))
i = 0;
length = read( fd, buffer, BUF_LEN );
else
i += EVENT_SIZE + event->len;
length = read( fd, &buffer[i], (BUF_LEN - j) );
}
if (monitoring)
theseLogs->logN(2,"JSON monitoring unexpected end: %d %d.",i,length);
done:
( void ) inotify_rm_watch( fd, wd );
( void ) close( fd );