Diff for /parser3/src/include/pa_request.h between versions 1.288 and 1.293

version 1.288, 2026/10/16 13:55:16 version 1.293, 2026/10/28 01:17:38
Line 48  class VConsole; Line 48  class VConsole;
 class WebSocket;  class WebSocket;
 class VException;  class VException;
   
 extern int pa_loop_limit;  extern int pa_loop_limit; // not thread local: never changes
 extern int pa_array_limit;  extern int pa_array_limit; // not thread local: never changes
 extern int pa_execute_recursion_limit;  extern int pa_execute_recursion_limit; // not thread local: never changes
 extern int pa_httpd_timeout;  extern int pa_httpd_timeout; // not thread local: never changes
 extern size_t pa_file_size_limit;  extern THREAD_LOCAL size_t pa_file_size_limit; // thread local: url-dependent
   extern THREAD_LOCAL size_t pa_post_max_size; // thread local: url-dependent
   
 class Code_cache;  class Code_cache;
   
Line 176  public: Line 177  public:
 private:  private:
   
         int fin_cycle;          int fin_cycle;
         Skip fskip;          volatile Skip fskip;       // also changed from the signal handler
           volatile int finterrupted; // set by the signal handler, if fskip was overwritten meanwhile, the next set_skip() restores SKIP_INTERRUPTED from it
         VMethodFrame* freturn_method_frame;          VMethodFrame* freturn_method_frame;
   
 public:  public:
Line 328  public: Line 330  public:
         }          }
   
         Skip get_skip() { return fskip; }          Skip get_skip() { return fskip; }
         void set_skip(Skip askip) { fskip=askip; }          void set_skip(Skip askip) { fskip=finterrupted ? SKIP_INTERRUPTED : askip; }
         void set_skip_return(VMethodFrame& amethod_frame) { fskip=SKIP_RETURN; freturn_method_frame=&amethod_frame; }          void set_skip_return(VMethodFrame& amethod_frame) { freturn_method_frame=&amethod_frame; set_skip(SKIP_RETURN); }
         inline bool check_skip_break() { bool result=fskip >= SKIP_BREAK; if(fskip <= SKIP_BREAK) fskip=SKIP_NOTHING; return result; }          inline bool check_skip_break() { bool result=fskip >= SKIP_BREAK; if(fskip <= SKIP_BREAK) set_skip(SKIP_NOTHING); return result; }
         inline void check_skip_return() { if(fskip==SKIP_RETURN && method_frame==freturn_method_frame) fskip=SKIP_NOTHING; }          inline void check_skip_return() { if(fskip==SKIP_RETURN && method_frame==freturn_method_frame) set_skip(SKIP_NOTHING); }
           /// for signal handlers
           void interrupt() { finterrupted=1; fskip=SKIP_INTERRUPTED; }
           /// clears the interruption and throws parser.interrupted
           void throw_interrupted();
   
         void set_in_cycle(int adelta) { fin_cycle+=adelta; }          void set_in_cycle(int adelta) { fin_cycle+=adelta; }
         bool get_in_cycle() { return fin_cycle>0; }          bool get_in_cycle() { return fin_cycle>0; }
Line 418  private: // execute.C Line 424  private: // execute.C
   
 private: // mime types  private: // mime types
   
         /// $MAIN:MIME-TYPES          /// $MAIN:MIME-TYPES (table or @GET_MIME-TYPES[] property), built at the first use
         Table *mime_types;          Table *mime_types;
   
 private: // connection manipulation  private: // connection manipulation

Removed from v.1.288  
changed lines
  Added in v.1.293


E-mail: