On Mon, Aug 25, 2014 at 05:06:14PM -0700, [email protected] wrote:
> Signed-off-by: John Johansen <[email protected]>
> Acked-by: Steve Beattie <[email protected]>

Acked-by: Seth Arnold <[email protected]>

Thanks

> 
> === modified file 'parser/libapparmor_re/hfa.cc'
> ---
>  parser/libapparmor_re/hfa.cc |   50 
> +++++++++++++++++++++++--------------------
>  parser/libapparmor_re/hfa.h  |    1 
>  2 files changed, 28 insertions(+), 23 deletions(-)
> 
> --- parser/libapparmor_re/hfa.cc.orig
> +++ parser/libapparmor_re/hfa.cc
> @@ -357,12 +357,37 @@
>               cerr << "  " << (*i)->label << " <= " << (*i)->proto << "\n";
>  }
>  
> +void DFA::process_work_queue(const char *header, dfaflags_t flags)
> +{
> +     int i = 0;
> +
> +     while (!work_queue.empty()) {
> +             if (i % 1000 == 0 && (flags & DFA_DUMP_PROGRESS)) {
> +                     cerr << "\033[2K" << header << ": queue "
> +                          << work_queue.size()
> +                          << "\tstates "
> +                          << states.size()
> +                          << "\teliminated duplicates "
> +                          << node_map.dup
> +                          << "\r";
> +             }
> +             i++;
> +
> +             State *from = work_queue.front();
> +             work_queue.pop_front();
> +
> +             /* Update 'from's transitions, and if it transitions to any
> +              * unknown State create it and add it to the work_queue
> +              */
> +             update_state_transitions(from);
> +     }  /* while (!work_queue.empty()) */
> +}
> +
>  /**
>   * Construct a DFA from a syntax tree.
>   */
>  DFA::DFA(Node *root, dfaflags_t flags): root(root)
>  {
> -     int i = 0;
>       diffcount = 0;          /* set by diff_encode */
>  
>       if (flags & DFA_DUMP_PROGRESS)
> @@ -394,28 +419,7 @@
>        *       work_queue at any given time, thus reducing peak memory use.
>        */
>       work_queue.push_back(start);
> -
> -     while (!work_queue.empty()) {
> -             if (i % 1000 == 0 && (flags & DFA_DUMP_PROGRESS)) {
> -                     cerr << "\033[2KCreating dfa: queue "
> -                          << work_queue.size()
> -                          << "\tstates "
> -                          << states.size()
> -                          << "\teliminated duplicates "
> -                          << node_map.dup
> -                          << "\r";
> -             }
> -             i++;
> -
> -             State *from = work_queue.front();
> -             work_queue.pop_front();
> -
> -             /* Update 'from's transitions, and if it transitions to any
> -              * unknown State create it and add it to the work_queue
> -              */
> -             update_state_transitions(from);
> -
> -     }  /* while (!work_queue.empty()) */
> +     process_work_queue("Creating dfa", flags);
>  
>       /* cleanup Sets of nodes used computing the DFA as they are no longer
>        * needed.
> --- parser/libapparmor_re/hfa.h.orig
> +++ parser/libapparmor_re/hfa.h
> @@ -292,6 +292,7 @@
>       void dump_node_to_dfa(void);
>       State *add_new_state(NodeSet *nodes, State *other);
>       void update_state_transitions(State *state);
> +     void process_work_queue(const char *header, dfaflags_t);
>       void dump_diff_chain(ostream &os, map<State *, Partition> &relmap,
>                            Partition &chain, State *state,
>                            unsigned int &count, unsigned int &total,
> 
> 
> -- 
> AppArmor mailing list
> [email protected]
> Modify settings or unsubscribe at: 
> https://lists.ubuntu.com/mailman/listinfo/apparmor
> 

Attachment: signature.asc
Description: Digital signature

-- 
AppArmor mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to