forked from j62/ctbrec
Make sure the reader thread is ready before sending any commands
This commit is contained in:
parent
3a83943130
commit
7b2f30474a
|
@ -31,6 +31,7 @@ public class ExternalBrowser implements AutoCloseable {
|
|||
private Socket socket;
|
||||
private Thread reader;
|
||||
private volatile boolean stopped = true;
|
||||
private Object ready = new Object();
|
||||
|
||||
public static ExternalBrowser getInstance() {
|
||||
return INSTANCE;
|
||||
|
@ -51,6 +52,9 @@ public class ExternalBrowser implements AutoCloseable {
|
|||
LOG.debug("Browser started");
|
||||
|
||||
connectToRemoteControlSocket();
|
||||
synchronized (ready) {
|
||||
ready.wait();
|
||||
}
|
||||
if(LOG.isTraceEnabled()) {
|
||||
LOG.debug("Connected to remote control server. Sending config {}", jsonConfig);
|
||||
} else {
|
||||
|
@ -131,9 +135,12 @@ public class ExternalBrowser implements AutoCloseable {
|
|||
try {
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(in));
|
||||
String line;
|
||||
synchronized (ready) {
|
||||
ready.notify();
|
||||
}
|
||||
while( !Thread.interrupted() && (line = br.readLine()) != null ) {
|
||||
LOG.debug(line);
|
||||
if(!line.startsWith("{")) {
|
||||
System.err.println(line);
|
||||
} else {
|
||||
if(messageListener != null) {
|
||||
messageListener.accept(line);
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
<appender-ref ref="FILE" />
|
||||
</root>
|
||||
|
||||
<logger name="ctbrec.ui.ExternalBrowser" level="DEBUG"/>
|
||||
<logger name="ctbrec.LoggingInterceptor" level="INFO"/>
|
||||
<logger name="ctbrec.recorder.Chaturbate" level="INFO" />
|
||||
<logger name="ctbrec.recorder.server.HlsServlet" level="INFO"/>
|
||||
|
|
Loading…
Reference in New Issue