Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-45

Guththila ia non-reentrant

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: guththila
    • Labels:
      None
    • Environment:
      windows

      Description

      The guththila parser seems to be non-reentrant, as there is a global location for the current message. I have a wsdl which includes an
      XSD, and I parse both using two parsers. The inner one fails as it thinks the current message is whatever the outer one was parsing.
      This can be fixed by moving the mesage into the parser struct:

      /*- enum guththila_event_types guththila_event; */

      typedef struct guththila_xml_pull_parser_s
      {
      guththila_buffer_t *buffer;
      guththila_reader_t *reader;
      guththila_token_t *prefix;
      guththila_token_t *name;
      guththila_token_t *value;
      guththila_stack_t *stack;
      guththila_stack_t *attrib;
      guththila_stack_t *namesp;
      guththila_stack_t *dep;
      int _next;
      int offset;
      int last;
      int unicode_state;
      enum guththila_status status;
      /+/ enum guththila_event_types guththila_event;
      } guththila_xml_pull_parser_t;

      Plus replace all occurences of guththila_event with parser->guthtila_event.

        Attachments

          Activity

            People

            • Assignee:
              xydinesh Dinesh Weerapurage
              Reporter:
              edslattery Edward Slattery
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: