getblockresult_t s3be::get_all(const blockidlist_t &ids) { getblockresult_t ret; std::vector<nodeid_t> queried_ids; std::vector<GetObjectOutcomeCallable> ops; queried_ids.reserve(ids.size()); ops.reserve(ids.size()); // Look in the cache, query only if not found in the cache for (int i = 0; i < ids.size(); i++) { mempage cached; if (m_cache.get(ids[i], &cached)) ret[ids[i]] = cached; else { queried_ids.push_back(ids[i]); ops.push_back(get_one(ids[i])); } } // Collect results for (int i = 0; i < queried_ids.size(); i++) { GetObjectOutcome response = ops[i].get(); ret[queried_ids[i]] = readGetOutcome(queried_ids[i], response); } return ret; }
int main( int argc, char **argv, char **env ) { int urls_to_get; get_cmd_line_args( argc, argv, &urls_to_get ); pid_t *child_handles = (pid_t *)malloc( urls_to_get * sizeof(child_handles[0]) ); for( int i = 0; i < urls_to_get; ++i ) { child_handles[i] = get_one( i ); } printf( "\nErrors in thread creation? %d\n", error_count ); for( int i = 0; i < urls_to_get; ++i ) { int thread_return; pid_t p = waitpid( child_handles[i], NULL, 0 ); if( p == -1 ) { printf( "ERROR IN wait %d\n", errno ); ++error_count; } } printf( "\nERROR COUNT: %d\n", error_count ); return 0; }
int add_team_member_cnt(uint32_t team_id) { uint32_t count = 0; get_one(team_id, &count); if (count) { GEN_SQLSTR(sqlstr, "update %s set member_cnt=member_cnt + 1 where team_id =%u;", this->get_table_name(), team_id); } else { GEN_SQLSTR(sqlstr, "insert into %s (team_id, member_cnt) values (%u, %u)", this->get_table_name(), team_id, 1); } return this->exec_update_sql(this->sqlstr, GF_CONTEST_TEAM_ERR); }
MYSQL_TIME *unpack_time(longlong packed, MYSQL_TIME *my_time) { if ((my_time->neg= packed < 0)) packed= -packed; get_one(my_time->second_part, 1000000ULL); get_one(my_time->second, 60ULL); get_one(my_time->minute, 60ULL); get_one(my_time->hour, 24ULL); get_one(my_time->day, 32ULL); get_one(my_time->month, 13ULL); my_time->year= (uint)packed; my_time->time_type= MYSQL_TIMESTAMP_DATETIME; return my_time; }
/** * rtc_set_time_internal() - set time or date or alarm date and time * * @type: what should be set (RTC_SECOND, RTC_MINUTE, RTC_YEAR ...) * @offset: offset of the SECOND register (set for alarm because the registers * have offsets and are not equal to RTC_SECOND) * @val: value to set as binary value (not bcd) * * Backend for rtc_set_time and rtc_set_alarm0_time * * Return: TWI_OK on success, TWI_ERR on error */ static uint8_t rtc_set_time_internal(uint8_t type, uint8_t offset, uint8_t val) { uint8_t ret = 0; uint8_t one = get_one(val); uint8_t ten = get_ten(val); uint8_t temp; uint8_t write_val; switch (type) { case RTC_SECOND: ret |= rtc_read_register(RTC_RTCSEC + offset, &temp); if (ret != TWI_OK) return ret; write_val = (temp & 0b10000000) | ((ten & 0b111) << 4) | one; ret |= rtc_write_register(RTC_RTCSEC + offset, write_val); if (ret != TWI_OK) return ret; break; case RTC_MINUTE: write_val = ((ten & 0b111) << 4) | one; ret |= rtc_write_register(RTC_RTCMIN + offset, write_val); if (ret != TWI_OK) return ret; break; case RTC_HOUR: ret |= rtc_read_register(RTC_RTCHOUR + offset, &temp); if (ret != TWI_OK) return ret; write_val = (temp & 0b01000000) | ((ten & 0b11) << 4) | one; ret |= rtc_write_register(RTC_RTCHOUR + offset, write_val); if (ret != TWI_OK) return ret; break; case RTC_WEEKDAY: ret |= rtc_read_register(RTC_RTCWKDAY + offset, &temp); if (ret != TWI_OK) return ret; write_val = (temp & 0b11111000) | one; ret |= rtc_write_register(RTC_RTCWKDAY + offset, write_val); if (ret != TWI_OK) return ret; break; case RTC_DATE: write_val = ((ten & 0b11) << 4) | one; ret |= rtc_write_register(RTC_RTCDATE + offset, write_val); if (ret != TWI_OK) return ret; break; case RTC_MONTH: ret |= rtc_read_register(RTC_RTCMONTH + offset, &temp); if (ret != TWI_OK) return ret; write_val = (temp & 0b00100000) | ((ten & 0b1) << 4) | one; ret |= rtc_write_register(RTC_RTCMONTH + offset, write_val); if (ret != TWI_OK) return ret; break; case RTC_YEAR: write_val = (ten << 4) | one; ret |= rtc_write_register(RTC_RTCYEAR + offset, write_val); if (ret != TWI_OK) return ret; break; } return ret; }