オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Diff of /trunk/1.7.x/ccs-patch/security/ccsecurity/util.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2711 by kumaneko, Wed Jul 1 04:27:11 2009 UTC revision 2713 by kumaneko, Wed Jul 1 06:33:42 2009 UTC
# Line 2664  int ccs_check_supervisor(struct ccs_requ Line 2664  int ccs_check_supervisor(struct ccs_requ
2664          int len;          int len;
2665          static unsigned int ccs_serial;          static unsigned int ccs_serial;
2666          struct ccs_query_entry *ccs_query_entry = NULL;          struct ccs_query_entry *ccs_query_entry = NULL;
2667            bool quota_exceeded = false;
2668          char *header;          char *header;
2669          if (!r->domain)          if (!r->domain)
2670                  r->domain = ccs_current_domain();                  r->domain = ccs_current_domain();
# Line 2693  int ccs_check_supervisor(struct ccs_requ Line 2694  int ccs_check_supervisor(struct ccs_requ
2694          INIT_LIST_HEAD(&ccs_query_entry->list);          INIT_LIST_HEAD(&ccs_query_entry->list);
2695          /***** CRITICAL SECTION START *****/          /***** CRITICAL SECTION START *****/
2696          spin_lock(&ccs_query_list_lock);          spin_lock(&ccs_query_list_lock);
2697          ccs_query_entry->serial = ccs_serial++;          if (ccs_quota_for_query && ccs_query_memory_size + len +
2698                sizeof(*ccs_query_entry) >= ccs_quota_for_query) {
2699                    quota_exceeded = true;
2700            } else {
2701                    ccs_query_memory_size += len + sizeof(*ccs_query_entry);
2702                    ccs_query_entry->serial = ccs_serial++;
2703            }
2704          spin_unlock(&ccs_query_list_lock);          spin_unlock(&ccs_query_list_lock);
2705          /***** CRITICAL SECTION END *****/          /***** CRITICAL SECTION END *****/
2706            if (quota_exceeded)
2707                    goto out;
2708          pos = snprintf(ccs_query_entry->query, len - 1, "Q%u-%hu\n%s",          pos = snprintf(ccs_query_entry->query, len - 1, "Q%u-%hu\n%s",
2709                         ccs_query_entry->serial, r->retry, header);                         ccs_query_entry->serial, r->retry, header);
2710          kfree(header);          kfree(header);
# Line 2722  int ccs_check_supervisor(struct ccs_requ Line 2731  int ccs_check_supervisor(struct ccs_requ
2731          /***** CRITICAL SECTION START *****/          /***** CRITICAL SECTION START *****/
2732          spin_lock(&ccs_query_list_lock);          spin_lock(&ccs_query_list_lock);
2733          list_del(&ccs_query_entry->list);          list_del(&ccs_query_entry->list);
2734            ccs_query_memory_size -= len + sizeof(*ccs_query_entry);
2735          spin_unlock(&ccs_query_list_lock);          spin_unlock(&ccs_query_list_lock);
2736          /***** CRITICAL SECTION END *****/          /***** CRITICAL SECTION END *****/
2737          switch (ccs_query_entry->answer) {          switch (ccs_query_entry->answer) {

Legend:
Removed from v.2711  
changed lines
  Added in v.2713

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26