2004 Uncle Tobys Hardcourts – Doubles

The doubles tournament for the 2004 Uncle Tobys Hardcourts was won by Russian pair, Svetlana Kuznetsova and Elena Likhovtseva who defeated South African player Liezel Huber and Magdalena Maleeva from Bulgaria 6–3, 6–4 in the final. For Kuznetsova, this was her second Gold Coast title after winning with Martina Navratilova in 2003. This was also Likhovtseva second Gold Coast title after winning the tournament in 1998 with Japanese doubles partner Ai Sugiyama.

Doubles
2004 Uncle Tobys Hardcourts
Champions Svetlana Kuznetsova
Elena Likhovtseva
Runners-up Liezel Huber
Magdalena Maleeva
Final score6–3, 6–4

Seeds

Draw

Key

Draw

First Round Quarterfinals Semifinals Final
1 S Kuznetsova
E Likhovtseva
63 6 6
R Dragomir Ilie
E Kulikovskaya
77 3 1 1 S Kuznetsova
E Likhovtseva
7 6
LL C Dhenin
L McShea
5 3 Q S Farina Elia
F Schiavone
5 2
Q S Farina Elia
F Schiavone
7 6 1 S Kuznetsova
E Likhovtseva
6 6
4 É Loit
N Pratt
6 6 4 É Loit
N Pratt
3 3
T Musgrave
A Spears
2 2 4 É Loit
N Pratt
77 6
T Križan
K Srebotnik
5 1 WC S Stosur
C Wheeler
65 3
WC S Stosur
C Wheeler
7 6 1 S Kuznetsova
E Likhovtseva
6 6
L Krasnoroutskaya
V Zvonareva
77 1 2 2 L Huber
M Maleeva
3 4
T Tanasugarn
E Tatarkova
62 6 6 T Tanasugarn
E Tatarkova
6 3 7
D Bedanova
M Serna
4 3 3 N Petrova
M Shaughnessy
3 6 5
3 N Petrova
M Shaughnessy
6 6 T Tanasugarn
E Tatarkova
6 4 4
T Li
T Sun
2 7 4 2 L Huber
M Maleeva
2 6 6
M Casanova
J Husárová
6 5 6 M Casanova
J Husárová
E Callens
S Cohen-Aloro
6 2 62 2 L Huber
M Maleeva
w/o
2 L Huber
M Maleeva
2 6 77
gollark: Makes sense.
gollark: Hmm, so what extra features are needed?
gollark: Anyway, good news systemd-dislikers, I made an EXCELLENT and AMAZING replacement using the RUST programming language.
gollark: I have DashMap in here because of some vague dream of concurrently doing... stuff.
gollark: ```rustuse std::process::Command;use anyhow::Result;use std::path::Path;use std::fs;#[derive(serde::Serialize, serde::Deserialize, Debug)]struct RawServiceSpec { command: String, args: Vec<String>, name: Option<String>}#[derive(Debug)]struct ServiceSpec { command: String, args: Vec<String>, name: String}fn load_spec(path: &Path) -> Result<ServiceSpec> { let file = fs::read_to_string(path)?; let raw: RawServiceSpec = toml::from_str(&file)?; Ok(ServiceSpec { command: raw.command, args: raw.args, name: path.file_stem().unwrap().to_string_lossy().to_string() })}fn run_service(serv: ServiceSpec) -> Result<()> { println!("thread {:?}", serv); loop { println!("Starting"); let mut child = Command::new("/bin/env") .arg("python3") .arg("test.py") .spawn()?; child.wait()?; } Ok(())}fn main() -> Result<()> { let services = dashmap::DashMap::new(); for entry in fs::read_dir("./services")? { let s = load_spec(&entry?.path())?; services.insert(s.name.clone(), s); } let mut handles = Vec::new(); for e in services { handles.push(std::thread::spawn(|| run_service(e.1))); } for handle in handles { handle.join().unwrap(); } Ok(())}```

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.