Interactive mode in dispatcher
diff --git a/dispatcher-v2/JudgerThread.cpp b/dispatcher-v2/JudgerThread.cpp
index 95806f9..94210bd 100644
--- a/dispatcher-v2/JudgerThread.cpp
+++ b/dispatcher-v2/JudgerThread.cpp
@@ -40,6 +40,7 @@
                    status.language AS language, \
                    status.pid AS pid, \
                    problem.ignore_noc AS ignore_noc \
+                   problem.is_interactive AS is_interactive \
             FROM status, problem \
             WHERE status.pid = problem.pid AND runid = '" + runid + "' \
     ")[0];
@@ -58,6 +59,10 @@
         bott->Settype(NEED_JUDGE);
     }
     
+    if (info["is_interactive"] == "1") {
+        bott->Settype(DO_INTERACTIVE);
+    }
+    
     // load additional info from problem table
     info = db->Getall_results("\
             SELECT number_of_testcase, time_limit, case_time_limit, memory_limit, special_judge_status, vname, vid \
diff --git a/dispatcher-v2/dispatcher.h b/dispatcher-v2/dispatcher.h
index e8cbdda..1639b25 100644
--- a/dispatcher-v2/dispatcher.h
+++ b/dispatcher-v2/dispatcher.h
@@ -42,6 +42,7 @@
 #define DO_CHALLENGE 4
 #define DO_PRETEST 5
 #define DO_TESTALL 6
+#define DO_INTERACTIVE 7
 
 // from judger to dispatcher, message type
 #define JUDGER_STATUS_REPORT 1001